直接通过接口名称调用静态方法,不能通过接口的实现类的对象调用接口中的静态方法:
public interface InterfaceStatic {
public static void methodStatic() { // public可省略
System.out.println("这是接口中的静态方法");
}
}
public class InterfaceStaticImpl implements InterfaceStatic {
public static void main(String[] args) {
//直接通过接口名称调用静态方法
InterfaceStatic.methodStatic(); // 正确写法
//不可以通过接口的实现类的对象impl调用接口中的静态方法
//InterfaceStaticImpl impl=new InterfaceStaticImpl();
//impl.methodStatic(); // 错误写法
}
}
// 这是接口中的静态方法
对照:之前的博文中关于类中静态变量、方法的使用的学习笔记:
Java中,方法可以用static关键字修饰
【非static方法】归属于对象,要先创建对象,而后才可以使用非static方法;
【static方法】归属于类,不需要创建对象就可以被调用。
无论成员变量还是成员方法,经static修饰后,推荐以【类.】的方法进行调用。
即推荐以下格式调用:
用【类名称.静态变量】的格式调用静态变量
用【类名称.静态方法】的格式调用静态方法()