JAVA中的interface

接口
接口是比抽象类更抽象的一种结果或者类,通常使用interface来进行描述
interface中不允许出现变量
接口和接口之间是可以继承的 (interface1 exetend interface2)

抽象类(abstract class)与接口(interface)的区别
继承--只能继承一个类;可以继承多个interface
字段--可以定义实例字段;不可以定义实例字段
抽象方法--可定义抽象方法;可以定义抽象方法
非抽象方法--可以定义非抽象方法;可以定义default方法(jdk1.8及以上)

Dog继承Animal与Animal1
package day8.interface1;

public interface Animal {
    //interface中不允许出现变量
    public static final String name = "";


   //接口中方法的三种定义方式
   public default void sleep(){
       System.out.println("Animal sleep..........");
   }
    public static void age(){
        System.out.println("age is 18");
    }
    public void run();
}
package day8.interface1;

public interface Animal1 {
    void habit();
}
package day8.interface1;

//子类继承父类方式1
//public interface Dog extends Animal {
//
//}


//子类继承父类方式2,继承父类的抽象方法
public class Dog implements Animal,Animal1 {

    @Override
    public void run() {
        System.out.println("Animal dog 汪......");
    }

    @Override
    public void sleep() {
        Animal.super.sleep();
    }

    @Override
    public void habit() {
        System.out.println("Animal1 habit 汪......");
    }
}

测试代码

package day8.test;

import day8.interface1.Animal;
import day8.interface1.Animal1;
import day8.interface1.Dog;

public class Test01 {
    public static void main(String[] args) {
        Animal animal = new Dog();
        Animal1 animal1 = new Dog();
        animal.run();
        animal.sleep();
        animal1.habit();
    }
}

 

posted @ 2024-12-19 23:12  小马哥007  阅读(3)  评论(0编辑  收藏  举报