面向对象一______之继承、super和this的比较

1、java支持多层继承,而不支持,多继承!

2、子类继承父类后,则当子类实例化时,必须要 先调用父类的构造方法,默认是无参构造方法


3、当子类重写了主类的方法A,得到方法B,则在调用时就会调用重写的方法B,如果非要调用父类的方法A则需要使用super关键字,super关键字可以从子类访问父类中的内容——super.A(),同时super可以明确表示某个方法是从父类中继承而来。

4、方法的重载与覆写的区别:

重载(overloadong):

定义:方法名称相同,参数的类型或个数不同,对于权限没有要求,其范围是发生同一个类中

覆写(overriding)方法名称、参数类型、返回值类型全部相同,被覆写的方法不能拥有更加严格的权限【private<default<public】,其范围是发生在继承类中


5、this和super的比较

属性访问:this只会访问本类中的属性,如果本类中无此属性则从父类中继续查找;super访问父类中的属性。

方法调用:this 会访问本类中的方法,如果本类中没有找到,则继续在父类中查找;super则是直接访问父类中的方法。

调用构造:this调用本类构造,必须放在构造方法的首行;super则是调用父类构造,必须放在子类构造方法的首行(有点相同)

【注:对于this和super本身都可以调用构造方法,且都放在首行,所以这两个关键字肯定不能同时出现】

特殊:this可以表示当前对象,但是super没有


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值