欢迎来到天天文库
浏览记录
ID:52411730
大小:205.00 KB
页数:11页
时间:2020-04-05
《高级类特性(下).ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、高级类特性(下)虚方法调用instanceof运算符对象的造型(cast)内部类修饰符的适用范围虚方法调用(VirtualMethodInvocation)正常的方法调用Personp=newPerson();p.showName();Students=newStudent();s.showName();虚拟方法调用(多态情况下)Personp=newStudent();p.showName();编译时类型和运行时类型instanceof运算符使用运算符instanceof可以得到对象的类型对象造
2、型(Casting)所谓造型就是Java对象间的类型转换Java的对象造型可以分为两种情况:自动造型强制造型在造型前可以使用instanceof运算符测试一个对象的类型对象的造型只用在有继承关系的对象之间内部类(innerclass)(示例7-11)允许一个类的定义出现在另一个类中,将处于另一个类中的“寄生类”称为“内部类”(innerclass),也称为“类属类”这样的一组类在逻辑上是一个整体,内部类和外层封装它的类之间存在逻辑上的从属关系内部类对其封装类的内部成员有访问权限内部类的例子publ
3、icclassOuter1{privateintsize;/*定义一个内部类,名为"Inner"*/publicclassInner{publicvoiddoStuff(){//内部类可以访问外部类的私有属性size++;}}publicvoidtestTheInner(){Inneri=newInner();i.doStuff();}}实例化内部类实例化内部类的两种方法:---法一:Outer.Innerin=newOuter().newInner();---法二:Outero=newOuter
4、();Outer.InnerI=newo.newInner();如果内部类是static的,也可以用下面方法:Outer.Innerin=newOuter.Inner();内部类(con.)类的名字只能在定义的范围内使用,除非使用有效的全名Inner类也可以定义在方法的内部。方法中final类型的局部变量,都可以被Inner类的方法访问。(示例7-12)内部类特性Innerclass可以声明为抽象类,因此可以被其它的内部类继承。也可以声明为final的。和外层类不同,Innerclass可以声明为
5、private或protected;Innerclass可以声明为static的,但此时就不能再使用外层封装类的非static的成员变量;非static的内部类中的成员不能声明为static的,只有在顶层类或static的内部类中才可声明static成员修饰符适用范围class属性方法构建器自由块内部类publicYYYYYprotectedYYYY(Default)YYYYYYprivateYYYYfinalYYYYabstractYYYstaticYYY小结描述static变量、方法和初始化器
6、描述final类、方法和变量解释如何以及何时使用abstract类和方法解释如何以及何时使用内部类(innerclass)解释如何以及何时使用接口(interface)
此文档下载收益归作者所有