Java中抽象类实现多态
2016-08-19 11:48
113 查看
不能new出抽象类对象,但可以定义一个抽象类的引用。
可以把一个子类对象的地址赋给抽象类的引用,然后通过抽象类的引用调用子类从父类继承过来的方法,即抽象类也可以实现多态
假设A是抽象类,B是A的子类且完全实现了A的所有抽象方法,则
A aa = new A(); //error
A aa = new B(); //OK
abstract class A
{
public abstract void f();
}
class B extends A
{
public void f()
{
System.out.println("哈哈");
}
}
public class rain
{
public static void main(String[] args)
{
//A aa1 = new A(); //error
A aa2 = null; //可以定义一个抽象类的引用 等价于 A aa2;
aa2 = new B(); //将子类对象的地址赋给抽象类的引用
aa2.f(); //用抽象类的引用访问子类的方法 这就是多态
}
}
可以把一个子类对象的地址赋给抽象类的引用,然后通过抽象类的引用调用子类从父类继承过来的方法,即抽象类也可以实现多态
假设A是抽象类,B是A的子类且完全实现了A的所有抽象方法,则
A aa = new A(); //error
A aa = new B(); //OK
abstract class A
{
public abstract void f();
}
class B extends A
{
public void f()
{
System.out.println("哈哈");
}
}
public class rain
{
public static void main(String[] args)
{
//A aa1 = new A(); //error
A aa2 = null; //可以定义一个抽象类的引用 等价于 A aa2;
aa2 = new B(); //将子类对象的地址赋给抽象类的引用
aa2.f(); //用抽象类的引用访问子类的方法 这就是多态
}
}
相关文章推荐
- java 中关于抽象类和接口的范例,通过多态中的向上转移实现
- JAVA实验三 抽象类的继承和接口的实现 (多态)
- Java,C#,C++在继承,覆盖和多态,抽象类等几个方面的比较归纳
- 面向对象多态的实现(抽象类Abstract和接口Interface的用法区别)
- java中实现多态的机制是什么?
- All About JAVA 继承、多态、抽象类、接口、面向接口编程
- Java中多态的实现机制
- JAVA中几个易混淆关键词的理解:行为,隐藏,组合和继承,覆写和重载,多形(多态)性,动态绑定,上溯造型,抽象类,接口
- 虚函数-虚表-虚指针-多态性-如何实现多态-纯虚函数-抽象类(转呀转)
- 深入总结Java中多态实现机制
- Java中针对多态的实现
- java实现多态的机制
- JAVA中如何用接口实现多继承和多态 (非常好)
- Java中使用接口实现多继承和多态的方法
- Java,C#,C++在继承,覆盖和多态,抽象类等几个方面的比较归纳
- 如何实现Java的多态 推荐
- Java,C#,C++在继承,覆盖和多态,抽象类等几个方面的比较归纳
- Java 学习笔记 (3) -抽象类 abstract 接口 interface 内部类 inner class 继承 extends 实现 implements 包 package
- 多态的运用 实现java 数据类型判断
- java 笔试 :java中实现多态的机制是什么