您的位置:首页 > 编程语言 > Java开发

Java面向对象之继承

2017-07-14 13:39 169 查看
顾名思义,即子承父业,这个概念比起多态、重载、抽象类等概念,要好理解的多。需要注意的有以下几点!

1.继承方式

采用extends和 implements 关键字,写在类名的后面,如下!

extends称为继承。

implements称为实现。

public class Test10 extends Parent{
public Test10(String name) {
super(name);
// TODO Auto-generated constructor stub
}
}

public class Test10 implements Parent{
public Test10() {
// TODO Auto-generated constructor stub
}
}


2.继承规则

java采用单一继承,即只能从一个父亲那里传承,但是可以多重继承,意思就是,你只能从你父亲大人那里继承他的财产,但不能同时也从你的岳父大人那里继承,不过允许你的父亲从你爷爷那里继承,依次类推,这就是多重继承~!

当然这样做不太好,一个人有爸爸也有妈妈,同时兼顾两个人的属性,所以java采取了一个折中的方法,这个方法,就是允许实现多个接口,中间用逗号隔开!

public class Test10 implements Parent,Test11{
public Test10() {
// TODO Auto-generated constructor stub
}
}


3.关于构造函数

我在这里吃过一个小小的亏,有几个重要的规则!

子类拥有父类非private的属性,方法。

super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。

this关键字:指向自己的引用。super 语句必须是子类构造方法的第一条语句。

final 关键字声明类可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写.

子类不能继承父类的构造器(构造方法或者构造函数),但是父类的构造器带有参数的,则必须在子类的构造器中显式地通过super关键字调用父类的构造器并配以适当的参数列表。

如果父类有无参构造器,则在子类的构造器中用super调用父类构造器不是必须的,如果没有使用super关键字,系统会自动调用父类的无参构造器。

大体就这么多,没理解也没事,这个确实需要时间的沉淀!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息