javase个人学习总结(八)重写,子类对象实例化和super

重写,子类对象实例化和super
1.子类继承父类之后,可以对父类同名同参数方法进行覆盖,即重写,比如一个父类圆中的求面积的方法,一个子类圆柱体继承了之后,这个方法从实际和逻辑出发就要变成求表面积了,所以理所当然要重写该方法改成求表面积的功能,并且:其实重写也体现了多态或者说动态,因为编译期也是认为调用的父类方法,但是执行时才会发现并实际调用子类重写的方法
2.子类在继承了父类之后,就获得了父类所有的属性和方法,创建了子类的对象后,就会获得其
**,如果父类有私有的,子类拥有但不可见或者说不可用
3.构造器不能重写,因为名本身就不可能一样,如果要用父类构造器的功能,可以在构造器内第一行显示调用写super(形参列表),
4.如果不重写,就会默认调用父类的属性方法,不需要显示声明super,但是同名就必须了.
5.Super和this必须在构造器的首行出现(要不然第一行写一些属性来赋值,但是这时候还没调父类构造器也就是还没实例化呢jvm就不知道这些属性是什么东西,所以super一定在第一行),且不能同时在一个构造器中出现(无论如何创建子类对象时,都会先保证初始化了父类,即调用了父类构造方法,堆里生成了对象,然后让子类看到父类是如何初始化的然后即拿到其属性和方法),
6.如果子类有多个构造器,那么至少有一个调用了super(形参列表),因为至少要有一个把父类的构造器调一下去实例化父类(子类可见的没重写的是不会在子类中体现的,需要父类体现,所以至少有一个,其余的可以显示this调子类其他的)
6.子类实例化时一定会调用父类的构造器,子类是对父类的丰富和扩展,但是对一些不需要重写即覆盖的东西并没有写在子类中,所以必需要先初始化父类才知道有哪些内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值