《疯狂JAVA讲义》学习笔记第四天

1、super调用父类中被覆盖的方法。

2、重载主要多发生在同一个类的多个同名方法之间,重写发生在子类和父类的同名方法之间,当然父类方法和子类方法之间也可以发生重载。

3、如果在构造器中使用super,则super限定该该构造器初始化的时该对象从父类继承得到的实例变量,而不是该类自己定义的实例变量。

4、子类不会获得父类的构造器,但子类构造器里可以调用父类构造器的初始化代码。

5、如果某个父类通过this调用了同类中重载的构造器,就会依次执行父类的多个构造器。

6、JAVA引用型变量的两个类型

①编译时类型:由声明该变量时使用的类型决定;

②运行时类型:由实际赋给该变量的类型决定。

当编译时类型与运行时类型不一致时将导致多态。

7、方法具有多态型,对象的实例变量不具有多态性。

8、编写JAVA代码时,引用变量只能调用声明该变量时所用类型包含的方法。如果需要调用运行时类型的方法,则需要强制类型转换。

9、引用类型的强制类型转换只能在具有继承关系的两个类型之间进行。

10、如果试图把一个父类实例转化成子类实例,则这个对象必须实际上是子类实例才行(即编译时类型为父类类型,运行时类型为子类类型)

11、当把一个子类赋给父类总是可以成功的,把父类赋给子类需要进行强制类型转换,而且可能出现异常。

12、instanceof  

用于判断前面对象是否是后面类或其子类实现类的实例。

13、为保证封装性父类设计遵循的三个规则;

①尽量隐藏父类的内部数据;尽量把父类的所有成员变量都设置成private类型的。

②父类中仅为辅助其他的工具方法设置为private;若父类中的方法需要被外部类调用则必须以public修饰,但又不希望子类重写该方法,用final修饰;希望被子类重写,但不希望被其他类调用用protected修饰。

③尽量不要在父类构造器中使用被子类重写的方法。

14、何时使用继承?

①子类需要增加属性,而不仅仅是属性值的改变

②子类需要增加自己独有的行为方式

15、如果两个类之间有明显的整体与部分关系则用组合。继承是is-a关系 组合式has-a关系。

16、初始化块

如果两个构造器中有相同的初始化代码,且这些初始化代码无需接收参数就可以把他们放在初始化块中定义。

17、静态初始化块

对类进行初始化,不能对实例变量进行初始化。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值