当前位置: 首页 > news >正文

接口组成更新

接口组成更新概述:

接口的组成:

        常量

                public static final

        抽象方法

                public abstract

默认方法java8

静态方法java8

私有方法java9


接口中默认方法

接口中默认方法的定义格式:

        格式:public default 返回值类型 方法名(参数列表){  }

        范例:public default void show3() {  }

接口中默认方法的注意事项

        默认方法不是抽象方法,所以不强制被重写。但是可以被重写,重写的时候去掉default关键字

        public可以省略,default不能省略

package com.aynu19;public interface MyInterface {void show1();void show2();//    void show3();
//    public default void show3(){
//        System.out.println("show3");
//    }default void show3(){System.out.println("show3");}
}
package com.aynu19;public class MyInterfaceDemo {public static void main(String[] args) {//按照多态的方式创建对象并使用MyInterface my=new MyInterfacelone();my.show1();my.show2();my.show3();MyInterfaceImplTwo my1=new MyInterfaceImplTwo();my1.show1();my1.show2();my1.show3();}
}
package com.aynu19;public class MyInterfaceImplTwo implements MyInterface{@Overridepublic void show1() {System.out.println("Two show1");}@Overridepublic void show2() {System.out.println("Two show2");}
}
package com.aynu19;public class MyInterfacelone implements MyInterface{@Overridepublic void show1() {System.out.println("One show1");}@Overridepublic void show2() {System.out.println("One show2");}@Overridepublic void show3() {System.out.println("One show3");}
}
package com.aynu19;public interface MyInterfaceSon extends MyInterface{void show3();
}

One show1
One show2
One show3
Two show1
Two show2
show3 


接口中静态方法的定义格式:

        格式:public static 返回值类型 方法名(参数列表){ }

        范例:public static void show(){ }

接口中静态方法的注意事项:

        静态方法只能通过接口名调用,不能通过实现类名或者对象名调用

        public可以省略,static不能省略

package com.aynu20;public interface Inter {//抽象方法void show();//默认方法default void method(){System.out.println("Inter 中的默认方法执行了");}//静态方法public static void test(){System.out.println("Inter 中的静态方法执行了");}
}
package com.aynu20;public class InterDemo {public static void main(String[] args) {//按照多态的方法创建对象并使用Inter i=new InterImpl();i.show();i.method();
//        i.test();Inter.test();
//        InterImpl.test();}
}
package com.aynu20;public class InterImpl implements Inter{@Overridepublic void show() {System.out.println("show方法执行了");}
}

show方法执行了
Inter 中的默认方法执行了
Inter 中的静态方法执行了 


接口中私有方法:

        接口中私有方法的定义格式:

格式1:private返回值类型 方法名(参数列表){ }

范例1:private void show(){ }

格式2:private static 返回值类型 方法名(参数列表){ }                //静态的私有方法

范例2:private static void method(){ }

接口中私有方法的注意事项:

        默认方法可以调用私有的静态方法和非静态方法

        静态方法只能调用私有的静态方法

package com.aynu21;public interface Inter {default void show1(){System.out.println("show1开始执行");
//        System.out.println("初级工程师");
//        System.out.println("中级工程师");
//        System.out.println("高级工程师");show();System.out.println("show1结束执行");}default void show2(){System.out.println("show2开始执行");
//        System.out.println("初级工程师");
//        System.out.println("中级工程师");
//        System.out.println("高级工程师");show();System.out.println("show2结束执行");}private void show(){System.out.println("初级工程师");System.out.println("中级工程师");System.out.println("高级工程师");}static void method1(){System.out.println("method1开始执行");
//        System.out.println("初级工程师");
//        System.out.println("中级工程师");
//        System.out.println("高级工程师");method();System.out.println("method1结束执行");}static void method2(){System.out.println("method2开始执行");
//        System.out.println("初级工程师");
//        System.out.println("中级工程师");
//        System.out.println("高级工程师");method();System.out.println("method2结束执行");}private static void method(){System.out.println("初级工程师");System.out.println("中级工程师");System.out.println("高级工程师");}
}
package com.aynu21;public class InterDemo {public static void main(String[] args) {//按照多态的方式创建对象并使用Inter i =new InterImpl();i.show1();System.out.println("--------");i.show2();System.out.println("--------");Inter.method1();System.out.println("--------");Inter.method2();}
}
package com.aynu21;public class InterImpl implements Inter{}

show1开始执行
初级工程师
中级工程师
高级工程师
show1结束执行
--------
show2开始执行
初级工程师
中级工程师
高级工程师
show2结束执行
--------
method1开始执行
初级工程师
中级工程师
高级工程师
method1结束执行
--------
method2开始执行
初级工程师
中级工程师
高级工程师
method2结束执行 

http://www.lryc.cn/news/58047.html

相关文章:

  • int(1) 和 int(10)区别
  • 华为OD机试-组合出合法最小数-2022Q4 A卷-Py/Java/JS
  • ChatGPT中文在线官网-如何与chat GPT对话
  • macOS 13.3.1 (22E261)With OpenCore 0.9.2开发版 and winPE双引导分区原版镜像
  • 《iTOP-3568开发板快速测试手册》第7章 Yocto系统外设功能测试(1)
  • 【周末闲谈】AI的旅途
  • 回溯算法--01背包问题
  • Spring MVC请求处理流程分析
  • Python高阶知识之属性管理
  • 【Linux】创建目录文件,并完成删除,拷贝,移动,比较等操作
  • python http服务搭建教程
  • 高速数字信号VS射频信号,到底哪个更难设计?
  • 相对路径读取json文件 labelme_shapes_to_label 标签
  • IDEA工具避坑指南(十一):git导入SpringBoot后|不识别依赖 |大量爆红 | 无法启动
  • 管道命令(sort、uniq、tr、cut、eval命令)
  • Windows10系统忘记登录密码解决办法
  • Design Complie实验,使用2007年Synopsy的Lab Guide
  • 问题 B: C语言10.2
  • 多线程控制并发数目工具类Semaphore
  • Redis篇之五大数据类型
  • Linux->文件系统磁盘文件管理
  • echarts tooltip文字太长换行
  • Docker 部署Jira8.1.0
  • 枚举、模拟法(蓝桥杯卡片、数的分解为例)
  • DC-DC升压变换器直流隔离高压输出稳压电源模块5v12v24v48v转50v110v150v220v250v300v350v500v
  • jQuery创建、添加、删除元素
  • 产品快讯丨神策数据 A/B 测试试验指标管理重磅升级
  • 游戏开发之Unity2021URP项目场景的构建
  • 数学分析:多元微积分1
  • STC32G 三轮车负压电磁