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

多态:

概念:一种状态的多种表现形式
主要体现:编译时才动态确定相关的元素,父类或接口定义的引用可以指向子类或具体实现类的实例对象,程序调用的方法再运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也是内存里正在运行的对象的方法,而不是引用变量的类型中定义的方法。
父类的引用指向子类对象,这个引用变量只能访问父类里的成员以及被子类重写的方法,不能调用子类特有的成员——向上转型
指向子类的对象的父类引用强转为子类引用,可以调用子类成员——向下转型
向下转型的前提是向上转型
“对象引用 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)给类命名并不会导致你的代码更容易被理解。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值