首页 > 学院 > 开发设计 > 正文

JAVA学习经验--总结JAVA抽象类和接口

2019-11-14 22:49:05
字体:
来源:转载
供稿:网友
java学习经验--总结JAVA抽象类和接口

* --总结JAVA抽象类和接口* 1.抽象类:* 1》抽象类可以修饰方法,修饰类,但不能修饰属性,不能被实例化* 2》抽象类可以被继承,只能是单继承,继承抽象类必须实现抽象方法* 3》抽象类不能被static ,fina,PRivate一起修饰* 4》抽象类是有多态性的** 2.接口:* 1》接口是一种特殊的抽象类,不能被实例化* 2》接口申明的属性默认关键字为public abstract static* 3》接口申明的方法默认关键字为 public abstract* 4》接口是可以被继承的,接口可以被继承多个,也可已继承多个* 5》接口是有多态的*

package come.java.zhangfan.test3;public class Test  {    public static void main(String[] args) {        Students s =new Students();        t1(s);//输出 ---    woshi Student               T  t =new T();        t(t);    }    //抽象类的多态性    public static void t1(Person p ){        p.T();    }       //接口的多态性    public static void t(Runner p){        p.run();//输出 - -- woshi Run    }}//抽象类的应用//申明抽象类abstract class Person{//    字段 i 的修饰符不合法;只允许使用“公用”、“受保护”、“私有”、“静态”、“终态”、“瞬态”或“易变”//    属性无法被覆盖//    abstract int i ;   //    类型 Person 中的抽象方法 T 只能设置可视性修饰符“公用”或“受保护”中的一个//    如果static 那么意味着可以不创建对象直接调用该方法,与abstact 冲突//    abstract static public void T();   //    类型 Person 中的抽象方法 T 只能设置可视性修饰符“公用”或“受保护”中的一个//    本身就冲突,不解释//    abstract final public void T();   //    类型 Person 中的抽象方法 T 只能设置可视性修饰符“公用”或“受保护”中的一个//    私有方法无法被覆盖//    abstract private void T();          abstract public void T();    //True}//申明一个Student类继承抽象类,并重写T方法class Students extends Person{    public void T(){        System.out.println("woshi Student");    }}//接口的应用interface Runner{    public abstract void run();}interface Swimmer{    void swim();}interface Flier {    void fly();}//接口可以多继承interface t extends Runner,Swimmer,Flier{   }//必须申明所有继承的方法class t1 implements t{    @Override    public void run() {        // TODO 自动生成的方法存根           }    @Override    public void swim() {        // TODO 自动生成的方法存根           }    @Override    public void fly() {        // TODO 自动生成的方法存根           }   }//接口可以多引用//必须申明所有继承的方法class T implements Flier,Runner,Swimmer{    @Override    public void fly() {        // TODO 自动生成的方法存根        System.out.println("woshi fly");    }    @Override    public void swim() {        // TODO 自动生成的方法存根        System.out.println("woshi Swim");    }    @Override    public void run() {        // TODO 自动生成的方法存根        System.out.println("woshi Run");    }   }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表