继承 面向对象编程三大特征之一:
使用继承的好处:
1.方便修改代码
2.减少代码量
3.提高代码复用性
继承的基本理解:
1.类是对对象的抽象,继承是对某一批类的抽象,从而实现对现实世界的更好建模
2.继承可以提高代码的复用性
3.继承的使用需要extands关键字实现
4.继承有子类和父类,父类多种叫法:超类,父类,基类;子类多种叫法:子类,派生类
继承的使用:
1.编写父类,里面包含公共的属性和方法public class Parent{ }
2.编写子类,使用extands来实现pubic class child extands Parent{ }
java是单继承关系,所以一个子类只能有一个父类;
public calss HelloWorld extends TestHelloWorld{
}
super关键字:
1.super关键字是直接父类对象的引用
2.可以通过super来访问父类中被子类重写的方法或属性。
super关键字的使用:
1.普通方法中没用顺序限制,可以随便调用;
2.构造方法中任何类的构造方法中,若是构造方法的第一行代码没有显式的调用super(...);那么 Java默认都会调用super();作为父类的初始化方法。 所以这里的super();加不加都无所谓。
public calss HelloWorld extends TestHelloWorld{
public HelloWorld(){
super.TestHelloWorld();//默认调用,加不加都可以
}
}
抽象类:
1.当一个类没有被实例化的必要时就在class前面加abstract来实现抽象类,抽象类不能被实例化,就是说只能new该类的子类来创建对象;
public abstract class HelloWorld{
}
2.abstract也可用于方法——抽象方法:
public abstract void show(){
}
抽象方法没有方法体 抽象方法必须在抽象类里 抽象方法必须在子类中被实现,除非子类是抽象类
方法重写:
1.在子类中可以根据需要对父类中继承来的方法进行重写。
2.重写方法,必须和被重写方法具有相同的方法名称,参数列表和返回类型。
3.重写方法不能使用比被重写方法更严格的访问修饰符