01 12Java中级之覆写

1 方法覆写

子类和父类产生继承关系之后,同时也继承了父类中的全部定义,但是这里面也会出现不合适的场景。如果发现父类有不足的情况时,且需要保留父类中的方法或者属性的情况下就需要使用覆写。

当子类定义了与父类方法名称相同,参数类型及个数完全相同的时候(与父类完全一样),就称为方法覆写。

覆写的意义在于优化父类的功能。覆写后如果想调用父类被覆写的方法一定要在方法前追加super。

2 方法覆写限制

覆写的要求:被覆写的方法不能有比父类更严格的访问控制权限。

父类中private方法不牵扯覆写。在以后实际开发之中只要是定义方法,95%情况下都使用public,所以你要覆写的时候请使用public。

面试题:请解释Override与Overloading区别?Overloading时返回参数是否相同?

No.区别OverloadingOverride
1中文含义重载重写
2概念方法名称相同,参数的类型及个数不同方法名称、参数类型、参数个数及返回值相同
3权限没有权限限制被覆写方法不能拥有更严格的控制权限
4范围发生在一个类中发生在继承关系类中

在进行方法重载时并没有对返回类型作出限制,但是好的习惯应该保持返回类型的一致。

3 属性覆盖

子类定义了与父类相同名称的属性成员的时候,就称为属性覆盖。

面试题:请解释super与this的区别?
(1)在程序类中使用this表示先从本类查找所需要的属性或方法,如果本类不存在则查找父类定义,如果使用super表示不查找子类,直接查找父类。
(2)this与super1都可以进行构造方法的调用,但是this调用的是本类构造,而super是由子类调用父类构造,两个语句都必须放在构造方法的首行,所以不能同时出现。
(3)this可以表示当前对象。

4 final关键字

描述的是中终结器的概念,在Java中使用final关键字可以实现如下功能:
(1)定义不能被继承的类;
(2)定义不能被覆写的方法、常量。

在final关键字里面有一个重要的应用技术:可以利用其定义常量,常量的内容一旦定义就不能修改。

全局常量的定义:public static final。定义全局常量的时候每一个字母必须全部大写表示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值