package com.xtq;
/**
* @author: xietianqi
* @create: 2024-01-25 18:12
* @description:
**/
public interface A {
public static final Long CONST = 1L;
/**
* 本方法可以被实现类重写
* 本方法不可以被final修饰
*/
default void a() {
System.out.println("我a");
}
/**
* 本方法是只可以通过接口名调用该方法
* 子类不可以重写该方法语法不报错但不构成重写
*/
static void b() {
System.out.println("我b");
}
/**
* 接口里的一般方法
*/
public abstract void c();
}
package com.xtq;
/**
* @author xietianqi
*/
public class Demo {
public static void main(String[] args) {
A a = () -> System.out.println("我是实现了A的匿名内部类实现的方法是c");
A a1 = new A() {
// 这个 a 不是
@Override
public void a() {
System.out.println("我是实现类a方法");
}
// @Override //不是重写方法而是自己的普通方法static不可以被重写
public void b() {
System.out.println("我不是重写的b方法我是内部类自己的b");
}
@Override
public void c() {
System.out.println("我是实现类c方法");
}
};
a.a();
a1.c();
A.b();
// a.b()
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/daae9808a84b72bf754aaaffa994c1a6.png)