JavaSE-22.2.2【接口中静态方法(JDK8更新)】

复制代码
 1 package day13.lesson2;
 2 
 3 /*
 4 2.2 接口中静态方法
 5     格式
 6         [public] static 返回值类型 方法名(参数列表) { }
 7     范例
 8         [public] static void show() {
 9         }
10     注意事项
11         静态方法只能通过接口名调用,不能通过实现类名或者对象名调用
12         public可以省略,static不能省略
13  */
14 public class InterDemo {
15     public static void main(String[] args) {
16         Inter i = new InterImpl();
17         i.show();
18         i.method();
19 
20 //        i.test(); //编译异常
21 //        InterImpl.test; //编译异常
22         //歧义:当InterImpl实现两个接口时,编译器不知道对象i要调用Inter中的test还是Flyable中的
23 
24         Inter.test(); //ok
25         Flyable.test(); //ok
26     }
27 }
28 
29 interface Inter{
30     //抽象方法
31     void show();
32 
33     //默认方法
34     default void method(){
35         System.out.println("接口Inter中的默认方法method");
36     }
37 
38     //静态方法
39     /*public static void test(){
40         System.out.println("接口Inter中的静态方法test");
41     }*/
42     static void test(){
43         System.out.println("接口Inter中的静态方法test");
44     }
45 }
46 
47 class InterImpl implements Inter, Flyable{
48     @Override
49     public void show() {
50         System.out.println("实现类InterImpl重写接口Inter中的抽象方法show");
51     }
52 }
53 
54 interface Flyable{
55     static void test(){
56         System.out.println("接口Flyable中的静态方法test");
57     }
58 }
复制代码

 

posted @   yub4by  阅读(60)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示