初学Java---面向对象编程-继承(重载与重写)部分学习


Unit8 继承部分学习笔记

1.为什么要使用继承(目的)?

  • 答:类的重用:重复使用已有的类

2.UML中类的继承怎么表示?

  • 继承的关键词是:extends
  • 父类(super class)和子类(sub class)

3.继承的语法规则是什么?

  • 父类中的属性和方法可以被继承,但是是有条件的;到底能不能继承,主要看访问控制符private、默认、protected、public。

4.访问控制符的使用规则是什么?

  • 访问控制符能修饰什么?类,属性,方法,但是不能修饰局部变量.

在这里插入图片描述

在这里插入图片描述

  • private不可以被继承,也不能修饰外部类和局部变量,可以修饰属性、构造方法和一般方法。
  • protected不可以修饰外部类和局部变量,可以修饰属性、构造方法和一般方法。
  • public不能修饰局部变量
  • 构造方法能否被private和protected修饰? 答:能

5.构造方法能被继承么?

  • 答:不能。

6.创建子类对象时,父类的构造方法会被调用吗?

  • 答:会,创建子类的时候,父类的无参构造方法会被自动(默认)调用,但是不能被继承。

7.super怎么用?

  • super有两个用处:
    • 1.调用父类构造方法
    • 2.调用父类的一般方法和属性
  • super:代表父类,指明调用父类有参数构造方法。
  • super是java关键字
  • super调用构造方法的时必须在第一行
  • 创建子类的时候,父类的无参构造方法会被自动调用

8.额外的题:

(1)父类没有无参构造方法,还能创建子类对象吗?
  • 可以,用super明确调用即可。
(2)子类方法中如何调用父类的一般方法?
  • 答:直接使用即可。
(3)面试题:父类的构造方法能否被子类继承?
  • 答:不能,能继承属性和一般方法。
(4)子类方法中如何使用父类的同名属性?
  • 直接用打印的子类本身属性,super.打印的父类的同名属性

9.方法重写Override的规则是什么?

  • 方法的重写(Override)又叫覆盖;
  • 方法的重写规则:
    • 1.方法名相同
    • 2.参数列表相同(类型)
    • 3.返回类型相同
    • 4.访问控制符和原来一样或更为宽松
  • 构造方法不能被重写,因为能重写的一定是能被继承过来的,构造方法不能被继承,所以不能被重写。

10.方法重载Overload的规则是什么?

  • 方法的重载Overload:在一个类里有同名的方法,这就是重载。
  • 重载的规则:
    • 1.方法名字相同
    • 2.参数列表必须不同
    • 3.返回类型和修饰符不限

11.构造方法能不能重载?

  • 答:可以。

12.this怎么用?

  • this代表当前类对象,this放在哪个类里,this就代表那个类的对象;它是Java的关键字
  • this有两方面用处:
    • 1.调用方法或使用属性
    • 2.this调用构造方法
  • this调用构造方法必须在第一行:因此super和this不能同时出现
  • this和super不能在static方法中使用

13.对象构造次序解析?

  • 创建子类对象,父类构造方法先执行,有游离块的话,游离块先执行
  • 父类的先办完,在办子类的

14.Object类有什么特性?

  • Object是顶级父类,位于继承关系的最顶端

15.如何重写toString等方法?

//重写Object类的toString方法
public String toString() { 
	return "大家好!"; 
}

16.重点总结

1.为什么使用继承?
  • 答:类的重用。
2.Java中是否支持多重继承
  • 答:不支持。
3.面试题:Override和Overload的区别?
  • (1)重写是发生在有继承关系的类之间
  • (2)重载是在一个类内部
  • (3)规则不同
4.子类对象实例化(构造次序)过程
  • (1)父类游离块
  • (2)父类构造方法
  • (3)子类游离块
  • (4)子类构造方法
5.this和super的区别和作用?
  • super代表父类对象;this代表当前对象
  • super有两个用处:1.调用父类构造方法2.调用父类的一般方法和属性;this有两方面用处:1.调用方法或使用属性2.this调用构造方法
  • super()调父类构造方法,super. 调父类的一般方法或属性;this() 调本类构造方法,this. 调本类的一般方法或属性
6.访问控制符的作用范围?
  • private不可以被继承,也不能修饰外部类和局部变量,可以修饰属性、构造方法和一般方法。
  • protected不可以修饰外部类和局部变量,可以修饰属性、构造方法和一般方法。
  • public不能修饰局部变量
  • 构造方法能否被private和protected修饰? 答:能

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕兮IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值