0
点赞
收藏
分享

微信扫一扫

Java面向对象(2)共分三次

笑望叔叔 2022-05-01 阅读 66

继承的定义:类是对对象的抽象,继承是对某一批类的抽象,从而实现对现实世界更好的建模。

继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

继承能提高代码的重复性

extands的意思是“扩展”。子类是父类的扩展

不同的叫法:超类、父类、基类、子类、派生类

编写父类

class Pet {
//公共的属性和方法
}
class Dog extends Pet {
//子类特有的属性和方法
}

编写子类,继承父类

class Penguin extends
}
{

子类并没有定义任何的操作,而在主类中所使用的全部操作都是由Person类定义的,这证明:子类即使不扩充父类,也能维持父类的操作。

继承的限制:在Java中只允许单继承。
子类不能直接访问父类的私有成员。

通过继承可以简化类的定义,实现代码的重用

 子类继承父类的成员变量和成员方法,但不继承父类的构造方法 

java中叧有单继承 ,没有像c++那样的多继承。多继承会引起混乱,使得 继承链过于复杂,系统难于维护。就像我们现实中,如果你有多个父母亲, 那是一个多么混乱的世界啊。多继承,就是为了实现代码的复用性,却引入 了复杂性,使得系统类之间的关系混乱。

java中的多继承,可以通过接口来实现

如果定义一个类时,没有调用extends,则它的父类是:java.lang.Object

super是直接父类对象的引用

可以通过super来访问父类中被子类覆盖的方法或属性

普通方法:

没有顺序限制 可以随便调用

构造函数中:

任何类的构造函数中,若是构造函数的第一行代码没有显式的调用super(...);那么 Java默认都会调用super();作为父类的初始化函数。 所以你这里的super();加不加都无所谓

用处:

super能出现在实例方法和构造方法中。

super的语法是“super.”和“super()”。

super不能出现在静态方法中。

 super大部分情况下是可以省略的。

理解:

子类访问父类成员

– 访问父类构造方法  (使用super关键字,super代表父类对象。在子类构造方法中调用且必须是第一句)

super(); 
super(name);

访问父类

super.name;

访问父类方法

super.print();

在子类中可以根据需要对从基类中继承来的方法进行重写。

 重写方法必须和被重写方法具有相同方法名称、参数列表和返回 类型。 

重写方法不能使用比被重写方法更严格的访问权限。

举报

相关推荐

0 条评论