c 子类对象 访问父类对象受保护成员_Java之面向对象_继承

本文探讨了Java中的继承概念,旨在减少代码重复并更好地模拟现实世界。继承允许子类继承父类的属性和方法,但不包括构造方法。Java支持单继承并通过接口实现多继承。介绍了super关键字的使用,以及访问修饰符的作用范围。还讨论了方法的重写规则,包括完全重写和部分重写。此外,文章讲解了抽象类和抽象方法,强调子类继承抽象类必须实现抽象方法。最后,区分了方法重写和重载的区别。
摘要由CSDN通过智能技术生成

57b9166265e0e69d0072778c8cc19df3.png

好的,我们今天来谈谈什么是继承吧,为什么要使用继承呢?

为了减少重复性的代码,类是对对象的抽象,继承是对某一批类的抽象,从而实现对现实世界更好的建模。
  • 可以有效的提高代码的复用性!
  • extends的意思是“扩展”。子类是父类的扩展
  • 继承的其他叫法:超类,父类,基类,子类,派生类
  • 如图所示:

2e9d8f5ec6d77484b138084ae10785e6.png

总了个小结如下:

  1. 我们通过继承可以简化类的定义,实现代码的重用
  2. 子类继承父类的成员变量和成员方法,但不继承父类的构造方法。
  3. java中只有单继承,没有像c++那样的多继承。
  4. java中的多继承,可以通过接口来实现
  5. 如果定义一个类时,没有调用extends,则它的父类的java.lang.Object

继承的特性:

单根性,在Java中,类的继承是单继承,一个类只能有一个直接父类。 传递性,例如:C继承于B,B继承于A,C也具有A的特性和行为。 即子类继承父类,子类拥有父类非私有的属性和方法。

super 关键字

super表示父类,它只是一个简单的关键字,用于引用父类。super没有内存地址,其不包含引用。

super访问父类非私有属性

public 

访问修饰符

分为四种:private,default(默认),protected,public

各自修饰符作用的范围如下:

178228c4d69051df9c0c29f2e8caf116.png
  • public:公共的,访问权限最大。
  • protected:受保护的,子类都可见,同包可见
  • 默认:包访问权限,同包可见。
  • private:私有的,只有本类可见。
访问权限依次为:private<默认<protected<public

方法的重写

当子类继承子类的方法不能满足自身需要的时候,子类可以重写父类的同名方法。
重写可根据重写的程度分为完成重写和部分重写。

完全重写:当父类继承过来的方法完全不满足子类需要时。

public 

部分重写:当继承父类的方法还可以满足自身需要时,但还需要改进。

public 

方法重写的规则:

  1. 方法存在继承关系
  2. 方法名相同,参数列表相同
  3. 方法的返回值要么和父类相同,要么是其(父类的)子类。
public 

4.访问修饰符不能比父类更小。即private方法不能被继承,就不可能有重写。

注意:构造方法不能被重写,因为重写构造方法,因为构造方法和类重名,子类不可能和父类重名。

方法重写和重载的区别:

2f2d4fb2384f406a2fb476cd04309e9e.png

抽象类

在继承过程中,C extends B extends A,整个继承过程形成继承链。在继承链的过程中,位于顶端的类越来越抽象,位于末端的类越来越具体,整个过程形成继承金字塔。

抽象方法

当一个类定义一个方法根据自身特性无法实现时,可以把该方法声明为抽象方法(abstract method),该抽象方法所在的类称为抽象类(abstract class)。

抽象方法的语法

[修饰符] abstract 返回值类型 方法名(形参列表);

抽象类语法

[

注意:

  1. 抽象类不能实例化=>抽象类限制实例化。
  2. 抽象方法一定位于抽象类中,抽象类中可以没有抽象方法。
  3. 子类继承抽象父类,一定要实现抽象类中的抽象方法,除非子类也是抽象类。

方法的实现:

子类继承抽象父类,必须重写抽象父类中的抽象方法,是对抽象父类中抽象方法的完全性重写。我们把这个过程称为方法的实现。实现是一种特殊的重写。

a60e91dabb20483767f84f418b920a2e.png

好了,今天大饼我就先分享到这吧,我们下期见~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值