package com.msb.demointerface;
public interface DemoInterface {
//1.常量:public static final修饰
public static final int NUM = 10;
//2.抽象方法:public abstract修饰
public abstract void a();
//3.非抽象方法:public default修饰。
//目的:当修改接口时,不影响实现类。
public default void b(){
System.out.println("接口中的非抽象方法");
}
//4.静态方法:不能重写
public static void c(){
System.out.println("接口中静态方法");
}
}
//类实现接口,一个类可以实现多个接口。
//可以先继承一个类,再实现多个接口
class Test implements DemoInterface{
@Override
public void a() {//重写抽象方法
System.out.println("重写接口的方法");
}
@Override
public void b() {//重写非抽象方法,不能加default修饰符
System.out.println("重写非抽象方法b");
}
//静态方法不能重写,各自调用各自的
public static void c(){
System.out.println("实现类中的静态方法");
}
//自定义方法
public void d(){
//调用接口的方法
b();
DemoInterface.super.b();
}
}
class T {
public static void main(String[] args) {
DemoInterface d = new Test();//多态
d.a();//调用实现类的方法
d.b();//调用实现类的方法
Test t = (Test)d;//向下转型,调用实现类自定义的方法
t.d();//调用实现类自定义的方法
//静态方法不能重写,各自调用各自的
DemoInterface.c();//调用接口的静态方法
Test.c();//调用实现类的静态方法
}
}
java接口四个组成,实现类调用接口的非抽象方法【接口.super.方法】
最新推荐文章于 2023-02-14 19:50:26 发布