Java中的接口

发布时间 2023-11-10 19:37:16作者: 皆非6658

image

image

注意:接口中的成员变量与成员方法默认权限都是public

例子

接口

public interface _173Animal {
    //接口中的变量,默认是常量,并且自动加了static、final关键字
    public static final int code1=200;
    public final int code2=300;   //相当于 int code3=300

    //在接口中定义的方法,默认为抽象方法,自动加了public、abstract关键字
    public abstract void eat(); //相当于  void eat()

    //在jdk8之后,可以在接口中定义非抽象方法。
    // 在接口中定义非抽象方法,要加上default关键字
    default void show(){
        System.out.println("我在接口中,定义了一个非抽象方法");
    }
}

实现类

public class _173DogImpl implements _173Animal {
    //这个类没有继承父类,则默认情况下,自动继承object父类
    @Override
    public void eat() {
        System.out.println("我是狗类,我喜欢吃骨头");
    }
    public _173DogImpl(){
        super(); //这里调用的是object父类的无参构造方法
    }
}

实例和运行结果

public class _173Test01 {
    public static void main(String[] args) {
        _173Animal dog=new _173DogImpl();
        System.out.println(dog.code1);
        System.out.println(_173Animal.code2);
        dog.eat();
        dog.show();
    }
}

image