Java编程思想之复用类

1:为了继承,一般的规则是将所有的数据成员指定为private,所有的方法指定为public

2:当创建一个子类对象时,该对象隐式的包含一个父类对象的引用super

3:当有继承时,构造器的初始化顺序是先父类后子类,如果有有参数的构造方法,应当手动super(参数)调用父类的构造器。

4:复用一般有三种方式,一种是继承,继承不要多用,除非有父类引用指向子类对象的时候,组合是一种常用的构造新类的方式,组合常常是设计者想要使用现有类的功能,却不提供接口。新类的用户看到的是为新类定义的接口。代理是继承和组合的中庸之道,设计者想要提供父类的大多数接口,但是又不想让子类对象可以直接操作,于是就有了在新类中包含一个父类对象(组合的表现),在内部让父类对象来操作父类的方法,多了一个中间层,可能子类也提供父类的接口,或者提供父类接口的子集。

5:父类引用指向子类对象是一种向上转型,也是运行时多态的体现。

6:final关键字可用于修饰数据,方法和类,用于修饰数据时代表不可变的数据,用于修饰方法时代表继承时不可被覆盖的方法(虽然自己写的方法总不想被覆盖,但真的可能别人的想法比你的好慎重)修饰类的时候代表此类不能够被继承。private关键字隐式的包含了final。

7:存在继承时类的加载:构造子类对象前,先加载父类的字节码,于是就有了前面的已经提到的两条初始化规则

a.类的成员变量会在方法调用前初始化(包括构造方法),静态变量先按定义顺序初始化,然后非静态变量按定义顺序初始化。

 b.static块会在调用创建对象或者调用静态变量前初始化。

 c.先初始化完所有静态量,再初始化实例量。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值