Java_总结七(面向对象之三大特性——继承性、多态性)
一、继承性
--Java类中只有单继承,就是只有一个父类
(1)子类可以继承父类不带final和private修饰的方法和成员属性
(2)父类不能调用子类独有的方法和成员属性,只能调用子类继承的方法、重写的方法和继承的成员属性
(3)子类能用从父类继承来的方法和成员属性
package chapter.three; public class Test06 { public static void main(String[] args) { A a = new B(); a.b(); //a.c();//父类不能调用子类独有的方法和成员属性,只能调用子类继承的方法、重写的方法和继承的成员属性 B b = new B(); b.a(); } } //父类 class A{ public void a() { System.out.println("Aa()"); } public void b() { System.out.println("Ab()"); } } //子类B继承父类A class B extends A{ public void b() { System.out.println("Bb()"); } public void c() { System.out.println("Bc()"); } }
二、多态性
多态的体现:
--方法重载:在一个类中,允许多个方法使用同一个名字,但方法的参数列表不同。
--方法重写
--对象多态:子类对象可以与父类对象进行相互转换,而且根据其使用的子类的不同,完成的功能也不同。
对象多态分为两种类型:
(1)向上转型:子类对象-->父类对象
--Father f = new Son();
(2)向下转型:父类对象-->子类对象(向下转型之前,必须有对应的向上转型,不然会报错---类型转换异常)
--Son s = (Son)new Father();