本帖最后由 xiaobokk 于 2016-8-6 22:01 编辑
多态:
多态的概述:
-->事物存在的多种形态
多态的前提:
a:要有继承关系
b:要有方法重写
c:要有父类的引用指向子类对象
多态中成员访问特点之成员变量:
成员变量:
编译看左边,运行看右边
成员方法:
编译看左边,运行看右边
静态方法:
编译看左边,运行看左边
向上转型和向下转型的问题:
向上转型:
由子类自动转型为父类
向下转型:
由父类强行转型为子类
多态的好处:
a:提高了代码的维护性(继承保证)
b:提高了代码的扩展性(有多态保证)
多态的弊端:
不能使用子类的特有属性和行为
另附两端段代码
[Java] 纯文本查看 复制代码 class Fu {
public void show() {
System.out.println("fu show");
}
}
class Zi extends Fu {
public void show() {
System.out.println("zi show");
}
public void method() {
System.out.println("zi method");
}
}
class Test1Demo {
public static void main(String[] args) {
Fu f = new Zi();
//f.method();
f.show();
}
}
[Java] 纯文本查看 复制代码 class A {
public void show() {
show2();
}
public void show2() {
System.out.println("我");
}
}
class B extends A {
public void show2() {
System.out.println("爱");
}
}
class C extends B {
public void show() {
super.show();
}
public void show2() {
System.out.println("你");
}
}
public class Test2DuoTai {
public static void main(String[] args) {
A a = new B();
a.show();
B b = new C();
b.show();
}
}
|