Java Learning Day13--Interface

interface

Abstract class: contains abstract methods, non-abstract

Interface: understood as a pure abstract class

​ Define abstract methods in the interface

As the upper-level design needs, design functions

The relationship between interface and interface:
interface inherits interface, one interface can inherit multiple interfaces

The relationship between class and interface:
class implements interface, one class can implement multiple interfaces

Create animal interface
/*
    interface关键字修饰的是接口
    接口与接口之间可以一对多继承
 */
public interface Animal extends InterFaceA,InterFaceB {
    
    
    /*
    接口定义的成员变量是一个常量,默认被public static final 修饰
    public static final int nums= 10;
     */
    int nums= 10;
    String s= "傻狗";

    /*
    jdk8以后接口中声明的抽象方法,默认被public abstract 修饰
    public abstract void eat();
     */
    void eat();
    void sleep();

    /*
    jdk8以后加入静态方法,默认方法
     */
    public static void play(){
    
    
        System.out.println("狗玩");
    }
    /*
    默认方法,子类可以重写也可以不重写,或通过子类进行调用
     */
    public default void test(){
    
    
        System.out.println("接口中的默认方法");
    }
}
Create InterFaceA interface
public interface InterFaceA {
    
    
    void testA();
}

Create InterFaceB interface
public interface InterFaceB {
    
    
    void testB();
}

Create InterFaceC interface
public interface InterFaceC {
    
    
    void testC();
}

Create the dog class
 /*
    当类实现接口时,类要实现接口中所有的方法.
    否则,类必须声明为抽象的类
    一个类实现多个接口
     */
public class Dog extends  Object implements Animal,InterFaceC{
    
    

    @Override
    public void eat() {
    
    
        System.out.println("狗吃肉");
    }

    @Override
    public void sleep() {
    
    
        System.out.println("狗 to bed");
    }

    @Override
    public void testA() {
    
    

    }

    @Override
    public void testB() {
    
    

    }

    @Override
    public void testc() {
    
    

    }
}

Create test class

public class InterfaceTest {
    
    
    public static void main(String[] args) {
    
    
        System.out.println(Animal.nums);
        System.out.println(Animal.s);

        Animal dog = new Dog();

        dog.eat();
        dog.sleep();
        dog.test();
        Animal.play();
    }
}

operation result:

10
傻狗
狗吃肉
狗 to bed
接口中的默认方法
狗玩

Guess you like

Origin blog.csdn.net/XiaoFanMi/article/details/110683624