177/178接口的静态方法的定义和使用
接口的静态方法定义
从java 8 开始,接口当中允许定义静态方法
格式:
public static 返回值类型 方法名称(参数列表){ 方法体 }
/* * 从java开始,接口当中允许定义静态方法。 * 格式: * public static 返回值类型 方法名称(参数列表){ * //方法体 * } * 提示:就是将abstract或者default换成static即可,带上方法体。 * * */ public interface MyInterfataceStatic { public static void methodStatic(){ System.out.println("这是接口的静态方法!"); } }
提示:就是将abstract或者default换成static即可,带上方法体
接口的静态方法使用
注意事项:
不能通过接口实现类的对象来调用接口当中的静态方法
正确用法:通过接口名称,直接调用其中的静态方法
格式:
接口名称 . 静态方法名(参数)
接口 public interface MyInterfaceStatic { public static void methodStatic(){ System.out.println("这是接口的静态方法"); }} 实现类 public class MyInterfaceStaticImpl implements MyInterfaceStatic { public static void main(String[] args) { //创建了实现类对象 MyInterfaceStaticImpl myInterfaceStatic = new MyInterfaceStaticImpl(); //错误写法 // myInterfaceStatic.methodStatic; //直接通过接口名称调用静态方法 MyInterfaceStatic.methodStatic(); }}
//定义一个接口 public interface MyInterfaceStatic { public static void methodStatic(){ System.out.println("这是接口的静态方法"); }} //接口的实现类,里面没有抽象方法 public class MyInterfaceStaticImpl implements MyInterfaceStatic { } //main方法 public class Demo03Interface { public static void main(String[] args) { //创建了实现类对象 MyInterfaceStaticImpl impl=new MyInterfaceStaticImpl(); //impl.methodStatic();报错,不能通过实现类的对象来调用接口当中的静态方法 //直接通过接口名称调用静态方法 MyInterfaceStatic.methodStatic(); }}
//定义一个接口 public interface MyInterfaceStatic { public static void methodStatic(){ System.out.println("这是接口的静态方法"); }} //接口的实现类,里面没有抽象方法 public class MyInterfaceStaticImpl implements MyInterfaceStatic { } //main方法 public class Demo03Interface { public static void main(String[] args) { //创建了实现类对象 MyInterfaceStaticImpl impl=new MyInterfaceStaticImpl(); //impl.methodStatic();报错,不能通过实现类的对象来调用接口当中的静态方法 //直接通过接口名称调用静态方法 MyInterfaceStatic.methodStatic(); }}
public interface MyInterfaceStatic { public static void methodStatic() { System.out.println("这是接口的静态方法!"); }} public class MyInterfaceStaticimpl implements MyInterfaceStatic { } public class Demo03Interfacestatic { public static void main(String[] args) { MyInterfaceStaticimpl mm=new MyInterfaceStaticimpl(); //错误写法,不能调用mm.methodStatic();(静态与对象没有关系); //正确写法,通过接口名称直接调用接口内的静态方法; MyInterfaceStatic.methodStatic(); }}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】