-继承
面向对象编程的三(四)大特征: (抽象)、封装、继承、多态
1)什么是继承
继承是面向对象编程中一种代码复用的方式
2)为什么要使用继承
为了减少程序中的代码冗余,提高程序的可维护性和可扩展性
3)怎样使用继承
格式:
class <类名 A> extends <类名 B>{
}
类A中可以使用类B中的属性和方法,称类A为子类(派生类),类B为ie父类(超类/基类)
4)继承的注意事项
- 1、
子类和父类应该符合is-a
(是一个)关系(eg:狗是一个宠物) - 2、
java中的继承是单根的
(一个父亲,多个儿子) - 3、
java中的继承是传递的
-向上造型(向上转型)
1)什么是向上造型
一个子类对象,当作父类类型使用
2)为什么需要向上造型
多个不同类型的子类对象,可以使用他们的父类类型的数组来保存
3)如何使用向上造型
<父类类型> <引用> = new <子类对象>;
子类对象赋给父类引用,父类引用指向子类对象 Person stu=new Student();
4)向上造型后的问题
父类引用指向子类对象,但是这个父类的引用只能调用到父类的属性和方法
向上造型后,调用方法:
1、如果这个方法被子类重写了,那调用的就是子类的方法
2、如果这个方法没有被子类重写,那调用的就是父类的方法
public class Father{
public void say(){
System.out.println("我是父类方法");
}
public void speak(){
System.out.println("我是父类独有方法");
}
public static void main(String[] args) {
Father f = new Son();
f.say(); //我是子类方法
f.speak(); //我是父类独有方法
}
}
class Son extends Father{
public void say(){
System.out.println("我是子类方法");
}
}