一.多态
多态是继封装,继承之后的面向对象的第三个特征。
简单来说:多态指的就是:对象的多种形态,一个对象在不同条件下所变现的不同形式。
例如打印机:在黑白打印机情况下打出来为黑白,在彩色打印机情况下打印出来为彩色
多态需要依赖于继承或接口实现才能体现多态。
语法如下:
父类或接口 变量名 = new 子类或实现类( );
二.多态的理论操作
创建一个父类Person,内部提供一个方法work,打印正在工作。
内部提供一个成员变量name,值为人类。
创建一个子类Teacher,内部提供一个方法work,打印正在授课。
内部提供一个成员变量name,值为老师。
利用多态的特性测试相关代码。
三.多态的实际操作
public static void main(String[] args) {
// Teacher t = new Teacher();
// Person p = new Person();
// System.out.println(t.name);
// t.work();
// System.out.println(p.name);
// p.work();
//以上写法才是正常的写法。
//以下写法是多态的写法:
Person p = new Teacher();
p.work();
//总结1:成员变量都看=的左边。
//总结2:成员方法编译看左边,运行看右边。
//运行看右边指的就是:调用的是右边的方法。
//编译看左边指的就是:只能看到左边的对象的方法
}
public class Person {
String name = "人类";
int age = 111;
public void work() {
System.out.println("我是父类的work");
}
public class Teacher extends Person{
String name="老师";
int age = 222;
//如果子类不想使用父类的方法,那么可以对父类的方法进行重写。
public void work() {
System.out.println("teacher我正在授课");
}
public void a() {
System.out.println("我是a方法");
}