什么是抽象类? 抽象类如何演变多态

来源:互联网 发布:小米抢手机软件 编辑:程序博客网 时间:2024/05/14 07:34

 

 

 

abstract class Abs{private int i;public abstract void f();}public class TestABsClass {public static void main(String[] args) {System.out.println("抽象类!");}}

总结:

       如果f()方法没有方法体,class类前面必须加abstract修饰, 如果f()方法
    含有方法体,class前面可以加也可以不加abstract修饰,因为一个抽象类中 是可以没有抽象方法的.少见.
      f()方法 如果没有方法题,必须加abstract修饰为 抽象方法

 

 

abstract class ABS1{abstract public void f();}class S extends ABS1{public void f(){System.out.println("bbbbb");}}public class TestABsClass_2 {public static void main(String[] args) {//ABS1  a =new ABS1(); errorABS1 aa =new S(); //定义一个抽象类的引用aa.f();}}

从本程序中 可以看出,抽象类不能实例话. 但是可以定义一个抽象类的引用
可以把一个子类对象的地址付给抽象类的引用,然后通过抽象类的引用调用子类从父类继承过来的
方法:
     抽象类实现多态

       A aa2 =null;  //可以定义一个抽象类的引用

       aa2=new B(); //将子类对象地址赋给抽象类的引用

       aa2.f();  //用抽象类的方法访问子类的方法 .这就是多态

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击