抽象类和接口

来源:互联网 发布:game center数据删除 编辑:程序博客网 时间:2024/05/21 14:54
1.抽象类/**1. 抽象方法一定存在于抽象类中,抽象方法和抽象类需要abstract修饰!2. 抽象类不能实例化.3. 如果抽象类中多个抽象方法,而其子类只继承了一个抽象方法,则该子类为抽象类,故也无法实力化。4. 抽象类只能被子类覆盖其全部的抽象方法,才能建立子类对象!5. 抽象类中可以有非抽象方法*///该子类未覆盖父类func1的抽象方法,故子类为抽象类,不能实例化。编译失败abstract class Person{    abstract void func();    abstract void func1();    void func2(){        System.out.println("非抽象方法2!");            };}class Student extends Person{    public void func(){        System.out.println("非抽象方法!");        }}  class AbstractDemo{    public static void main(String[]args){        Student st =new Student();//子类为抽象类,不能实例化        st.func();        }    }  //该父类未中有抽象方法,类名未被abstract修饰,编译失败class Person{    abstract void func();    //abstract void func1();    void func2(){        System.out.println("非抽象方法2!");            };}class Student extends Person{    public void func(){        System.out.println("非抽象方法!");        }}  class AbstractDemo{    public static void main(String[]args){        Student st =new Student();        st.func();        }    }  //编译成功abstract class Person{    abstract void func();    //abstract void func1();    void func2(){        System.out.println("非抽象方法2!");            };}class Student extends Person{    public void func(){        System.out.println("非抽象方法!");        }}  class AbstractDemo{    public static void main(String[]args){        Student st =new Student();//子类为抽象类,不能实例化        st.func();        }    }      2.接口/**1. 接口中所有方法都是抽象方法,故可以看成是特俗的抽象类2. 接口的成员有固定的修饰符        常量: public static final        方法:  public abstract,接口中所有方法都是public权限。          */interface Inter{    public static final int NUM = 3;    public abstract void show();}  class SubInter implements Inter{    public void show(){        System.out.println("实现接口!");    }  class InterfaceDemo{    public static void main(String args[]){        SubInter sb = new SubInter();        sb.show();    }

0 0
原创粉丝点击