java的接口中是否可以定义静态方法

java的接口中可以定义静态方法

网上查了许多的博客都说的是不可以,我们老师也说得是不可以。但我自己实验了一下,发现居然可以在接口中定义静态方法(static)惊奇(⊙o⊙)?难道是是我的jdk版本比较新的原因,后面的java规则发生了变动?

而且不仅java的接口中可以定义静态方法,抽象类中也可以。但是定义的静态方法在实现或者继承的子类中是不可见的。即在实现接口的类中,无法使用接口中的静态方法


interface fi {
	static void f1() {
		System.out.println("接口中可以定义静态方法");
	};
}

class fi2 implements fi {
	
}
abstract class fi1 {
	static void f1() {
		System.out.println("抽象方法中可以定义静态方法");
	};
}
public class Test1 {
	public static void main(String[] args) {
		Path p1 = Path.of("C:/Users/Maibenben/Desktop/测试/1.txt");
		Path p2 = Paths.get("C:/Users/Maibenben/Desktop/测试/1.txt");
		fi.f1();
		fi1.f1();
	}
}

版权声明:本文为qq_44651133原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。