多态
多态是同一个行为具有多个不同表现形式或形态的能力。
多态的优点
- 消除类型之间的耦合关系
- 可替换性
- 可扩充性
- 接口性
- 灵活性
- 简化性
多态存在的三个必要条件
- 继承
- 重写
- 父类引用指向子类
多态实现的方式
- 重写
//father class
public class A{
public void method(){
System.out.print("I am Father Class!");
}
}
//subclass
public class B extends A{
public void method(){
System.out.print("I am subclass B!");
}
}
public class C extends A{
public void method(){
System.out.print("I am subclass C!");
}
}
//test
public class Test{
public static void main(String [] args){
A a= new A();
A b = new B():
A c = new C();
a.method();
b.method();
c.method();
}
}
// I am Father Class!
// I am subclass A!
//I am subclass B!
- 接口
public interface A{
public void method1();
}
public class B implements A{
public void method1(){
System.out.print("I am class B");
}
}
public class C implements A{
public void method1(){
System.out.print("I am class C");
}
}
- 抽象类和抽象方法
//abstract class
publci abstract class A {
public abstract void method();//abstract method
}
//
public class B extends A{
@Override
public void method(){
System.out.print("I am subclass B!");
}
}
public class C extends A{
@Override
public void method(){
System.out.print("I am subclass C!");
}
}