第11讲 最终类、类、匿名类.ppt

上传人:s****8 文档编号:66866233 上传时间:2022-12-21 格式:PPT 页数:6 大小:264KB
返回 下载 相关 举报
第11讲 最终类、类、匿名类.ppt_第1页
第1页 / 共6页
第11讲 最终类、类、匿名类.ppt_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《第11讲 最终类、类、匿名类.ppt》由会员分享,可在线阅读,更多相关《第11讲 最终类、类、匿名类.ppt(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第1111讲讲 最终类、内部类和匿名类最终类、内部类和匿名类一、最终类1 1、声明最终类:、声明最终类:n使用关键字使用关键字finalfinal声明的类称为最终类,最终类不能被继承,声明的类称为最终类,最终类不能被继承,即不能声明最终类的子类。即不能声明最终类的子类。npublic final class Math extends Objectpublic final class Math extends Object/数学类,最终类数学类,最终类n抽象类不能被声明为最终类。抽象类不能被声明为最终类。2 2、声明最终方法:、声明最终方法:使用使用finalfinal声明成员方法称为最终方法

2、,最终方法不能被子类声明成员方法称为最终方法,最终方法不能被子类覆盖。覆盖。public class Circle extends Graphicspublic class Circle extends Graphicspublic final double area()/public final double area()/最终方法,不能被子类覆盖最终方法,不能被子类覆盖 return Math.PI*this.radius*this.radius;return Math.PI*this.radius*this.radius;说明:最终类可以不包含最终方法,非最终类可以包含最终方说明:最终类

3、可以不包含最终方法,非最终类可以包含最终方法。法。3二、内部类二、内部类 我们已经知道:类可以有两种重要的成员:成员变量我们已经知道:类可以有两种重要的成员:成员变量和方法,类还可以有一种成员:内部类。和方法,类还可以有一种成员:内部类。JavaJava支持在一个支持在一个类中声明另一个类,这样的类称作类中声明另一个类,这样的类称作内部类内部类,而包含内部类,而包含内部类的类成为内部类的的类成为内部类的外嵌类外嵌类。内部类同类中声明的方法或成。内部类同类中声明的方法或成员变量一样,一个类把内部类看作是自己的成员。外嵌类员变量一样,一个类把内部类看作是自己的成员。外嵌类的成员变量在内部类中仍然有

4、效,内部类中的方法也可以的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法。内部类的类体中不可以声明类变量调用外嵌类中的方法。内部类的类体中不可以声明类变量和类方法。外嵌类可以用内部类声明对象,作为外嵌类的和类方法。外嵌类可以用内部类声明对象,作为外嵌类的成员。下面让我们结合这个成员。下面让我们结合这个例子例子更好的了解内部类。更好的了解内部类。返回返回4内部类和嵌套类 n静态的内部类称嵌套类(静态的内部类称嵌套类(Nested Class),如:),如:class Outer class Inner /Inner class static class Nested /Nes

5、ted class 区别:区别:n1.内部类的对象隐含一个外部类的对象引用,可以直接引用外部类的方内部类的对象隐含一个外部类的对象引用,可以直接引用外部类的方法和属性法和属性。另外内部类不能定义静态的属性和方法,创建内部类对象必。另外内部类不能定义静态的属性和方法,创建内部类对象必须依赖于一个外部对象。须依赖于一个外部对象。n2.嵌套类不能直接引用外部类的嵌套类不能直接引用外部类的non-satic属性和方法,创建嵌套类对象属性和方法,创建嵌套类对象时不依赖外部类对象。时不依赖外部类对象。5三、三、匿名类匿名类 1 1和类有关的匿名类和类有关的匿名类 当使用类创建对象时,程序允许我们把类体与对

6、象的创建组合在一起,当使用类创建对象时,程序允许我们把类体与对象的创建组合在一起,也就是说,类创建对象时,除了构造器还有类体,此类体被认为是该类的也就是说,类创建对象时,除了构造器还有类体,此类体被认为是该类的一个子类去掉类声明后的类体,称作匿名类。一个子类去掉类声明后的类体,称作匿名类。匿名类就是一个子类,由于匿名类就是一个子类,由于无名可用,所以不可能用匿名类声明对象,但却可以直接用匿名类创建一无名可用,所以不可能用匿名类声明对象,但却可以直接用匿名类创建一个对象。假设个对象。假设Hello是类,那么下列代码就是用是类,那么下列代码就是用Hello的一个子类(匿名类)的一个子类(匿名类)创

7、建对象:创建对象:new Hello()new Hello()匿名类的类体匿名类的类体 匿名类可以继承类的方法也可以重写类的方法。我们使用匿名类时,匿名类可以继承类的方法也可以重写类的方法。我们使用匿名类时,必然是在某个类中直接用匿名类创建对象,因此匿名类一定是内部类,匿必然是在某个类中直接用匿名类创建对象,因此匿名类一定是内部类,匿名类可以访问外嵌类中的成员变量和方法,匿名类不可以声明名类可以访问外嵌类中的成员变量和方法,匿名类不可以声明staticstatic成员成员变量和变量和staticstatic方法。匿名类的主要用途就是向方法的参数传值。方法。匿名类的主要用途就是向方法的参数传值。

8、下面的下面的例例子子展示了匿名类的用法。展示了匿名类的用法。6三、匿名类三、匿名类 2 2和接口有关的匿名类和接口有关的匿名类 假设假设ComputableComputable是一个接口,那么,是一个接口,那么,JavaJava允许直接用接口名和一个允许直接用接口名和一个类体创建一个匿名对象,此类体被认为是实现了类体创建一个匿名对象,此类体被认为是实现了ComputableComputable接口的类去接口的类去掉类声明后的类体,称作匿名类。下列代码就是用实现了掉类声明后的类体,称作匿名类。下列代码就是用实现了ComputableComputable接接口的类(匿名类)创建对象:口的类(匿名类)创建对象:new Computable()new Computable()实现接口的匿名类的类体实现接口的匿名类的类体 如果某个方法的参数是接口类型,那么我们可以使用接口名和类如果某个方法的参数是接口类型,那么我们可以使用接口名和类体组合创建一个匿名对象传递给方法的参数,类体必须要实现接口中的体组合创建一个匿名对象传递给方法的参数,类体必须要实现接口中的全部方法。全部方法。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com