美文网首页
Java接口

Java接口

作者: 凹特曼 | 来源:发表于2016-01-12 17:00 被阅读0次

    有两个源文件

    // 接口默认就是抽象的。当需要声明一个接口的时候不需要使用 abstract 关键字。
    // interface 关键字用来声明一个接口
    
    /*
     1.一个接口可以继承另一个接口,和一个类继承自另一个类的方法相同。
     extends 关键字用来继承一个接口,并且子接口要继承父接口的所有方法。
     2.一个接口可以继承多个接口,以逗号隔开
    */
    interface Animal extends LivingThing{
    
        // 接口不能包含实例变量。接口中唯一能出现的变量必须被同时声明为 static 和 final 。
        //int legs 常量必须赋值,没有默认值;
        public static final int legs = 4;
        /*
            接口中的每个方法默认也是抽象的,所以 abstract 关键字也不需要。
            接口中的方法默认是 public 的。
        */
        public void eat();
        void travel();
    
        // 接口不能包含构造方法。 接口中的所有方法都是抽象的。
        // Animal();
    }
    
    interface LivingThing {
    
    
        void live();
    
    
        // 接口不能包含构造方法。 接口中的所有方法都是抽象的。
        // void Animal();
    }
    
    interface Bird {
    
    
        void fly();
    
    
        // 接口不能包含构造方法。 接口中的所有方法都是抽象的。
        // void Animal();
    }
    
    // 接口不能被类继承;它应该被类实现。
    public class MammalInt implements Animal,Bird{
    
       public void eat(){
          System.out.println("Mammal eats");
       }
    
       public void travel(){
          System.out.println("Mammal travels");
       } 
    
       public int noOfLegs(){
          return 0;
       }
    
       public void fly(){
       System.out.println("Mammal can't fly");
       }
    
        public void live(){
        System.out.println("Mammal is alive");
       }
    
       public static void main(String args[]){
          MammalInt m = new MammalInt();
          m.eat();
          // m.travel();
          m.fly();
          // 接口方法必须实例化 但是不是必须调用
          m.live();
    
          // 不能实例化一个接口。
           // Animal a = new Animal();
    
       }
    
       /*1.当一个类实现一个接口的时候,你可以认为类就是签订一个条约,
       同意去执行接口中的各种行为。
       2.如果一个类没有实现接口中的所有行为,
       这个类就必须声明为 abstract */
       abstract class dog implements Animal{
       /*
       1.类可以一次性实现多个接口。
       2.类只可以继承一个父类,但是可以实现多个接口。
       3.一个接口可以继承自另一个接口,和一个类继承自另一个类的方法相同。
       4.实现接口中的方法 注意类的权限
       */
          public void travel(){
    
             System.out.println("i like travel");
          }
    
       }
    }
    

    相关文章

      网友评论

          本文标题:Java接口

          本文链接:https://www.haomeiwen.com/subject/fdkckttx.html