抽象类 接口

       抽象类: 声明方法的存在而不去实现它的类被叫作抽象类(abstract class),它用于要建立一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的状况。java

  1.         不能建立abstract 类的实例。函数

  2.         然而能够建立一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。spa

  3.         不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的全部抽象方法提供实现,不然它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类能够在类中实现这些方法。code

  4. package Text_1;
    abstract class Abs{
     public int a;
     public int b = 10;
     public abstract void foo();
     public abstract void fun();
    }
    class Test_abs extends Abs{
     public void getValue(){
      a = 12;
      b = 24;
      System.out.println(" a = " + a + "  b = " + b );
     }
     
     public void show(){
      System.out.println("Test_abs : " );
      foo();
      fun();
     }
     
     public void fun(){
      System.out.println("in class Text_abs in fun()");
     }
     
     public void foo(){
      System.out.println("in class Text_abs in foo() ");
     }
    }
    public class Inter_Abstra {
     public static void main(String[] args) {
      // TODO Auto-generated method stub
      Test_abs a = new Test_abs();
      a.show();
      a.getValue();
     }
    }

    结果:对象

  5. Test_abs :
    in class Text_abs in foo()
    in class Text_abs in fun()
     a = 12  b = 24
    继承

     接口(interface)是抽象类的变体。在接口中,全部方法都是抽象的。接口

  1.         多继承性可经过实现这样的接口而得到。get

  2.         接口中的全部方法都是抽象的,没有一个有程序体。接口只能够定义static final成员变量。class

  3.         接口的实现与子类类似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)全部这种接口的方法。而后,它能够在实现了该接口的类的任何对象上调用接口的方法。因为有抽象类,它容许使用接口名做为引用变量的类型。一般的动态联编将生效。引用能够转换到接口类型或从接口类型转换,instanceof 运算符能够用来决定某对象的类是否实现了接口。变量

    package Text_1;
    interface Inter{
     public int a = 20;
     public int b = 10;
     public abstract void foo();
     public abstract void fun();
    }
    class Test_abs implements Inter{
     public void getValue(){
      System.out.println(" a = " + a + "  b = " + b );
     }
     
     public void show(){
      System.out.println("Test_Inter : " );
      foo();
      fun();
     }
     
     public void fun(){
      System.out.println("in class Text_Inter in fun()");
     }
     
     public void foo(){
      System.out.println("in class Text_Inter in foo() ");
     }
    }
    public class Inter_Inter {
     public static void main(String[] args) {
      // TODO Auto-generated method stub
      Test_abs a = new Test_abs();
      a.show();
      a.getValue();
     }
    }


结果:

Test_Inter : in class Text_Inter in foo() in class Text_Inter in fun() a = 20  b = 10

相关文章
相关标签/搜索