您的位置:首页 > 编程语言 > Java开发

Java SE基础知识点总结(五)

2016-07-13 14:35 483 查看

多态:

概念:一种状态的多种表现形式
主要体现:编译时才动态确定相关的元素,父类或接口定义的引用可以指向子类或具体实现类的实例对象,程序调用的方法再运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也是内存里正在运行的对象的方法,而不是引用变量的类型中定义的方法。
父类的引用指向子类对象,这个引用变量只能访问父类里的成员以及被子类重写的方法,不能调用子类特有的成员——向上转型
指向子类的对象的父类引用强转为子类引用,可以调用子类成员——向下转型
向下转型的前提是向上转型
“对象引用 instanceof 类名或接口名”判断类型,返回值为boolean,后者能引用前者子类对象引用则返回true否则false(前者与后者具有继承或实现关系),前者为null则全部返回false。
回调:后写的代码触发先写的代码调用先写的代码。方法的重写都是回调。

内部类:

又称寄生类,都可以实现继承和接口。
①成员内部类②静态内部类③局部内部类④匿名内部类

①也就是当成一个类的成员存在,成员内部类中不能有静态变量和静态方法

1、在外部类的非静态方法中访问成员内部类的成员:new 内部类()

2、在外部类的静态方法中访问内部类的成员:new 外部类().new 内部类()

3、在第三方类中,无论是静态方法还是非静态方法,都需要:new 外部类().new 内部类()

内部类成员如果被private修饰则无法被调用。

4、在内部类的方法中访问外部类的非静态成员:new 外部类()或外部类名.this

5、在内部类的方法中访问外部类的静态成员:“外部类名.
”来访问静态成员

②就是在成员内部类的前面加上static修饰。静态内部类中可以由静态变量和静态方法。

1、在外部类的方法中访问静态内部类的非静态成员:new 内部类()

2、在外部类的方法中访问静态内部类的静态成员:外部类名.内部类名.静态成员(静态内部类中的)

3、在内部类的方法中访问外部类的非静态成员:new 外部类()

4、在内部类的方法中访问外部类的静态成员:外部类名.静态成员(外部类中的)

5、在第三方类中访问静态内部类的非静态成员:new 外部类名.内部类名()

6、在第三方类中访问静态内部类的静态成员:外部类名.内部类类名.静态成员(内部类中的)

③就是在方法内部定义的内部类。只在定义它的方法内部有效。不能有static修饰的成员。
1、局部内部类可以访问外部类的非静态成员:外部类名.this.非静态成员(外部类)

2、局部内部类可以访问外部类的静态成员:外部类名.静态成员(外部类)

3、局部内部类可以访问它所在方法内部的局部变量,但这个变量必须由final修饰。

④匿名内部类:

1、匿名内部类就是没有名字的内部类,一定是在new的后面,隐含实现一个接口或实现一个类。

2、使用匿名内部类时的几个原则:

(1)不能有构造方法

(2)不能定义任何静态成员、方法和类

(3)不能是public,protected,private,static。

(4)只能创建匿名内部类的一个实例。

3、在以下情况中,可以考虑使用匿名内部类:

(1)只用到类的一个实例。

(2)类在定义后马上用到。

(3)类非常小
(4)给类命名并不会导致你的代码更容易被理解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: