jdk8/9新特性

news/2024/4/30 8:40:35

package chapter08_oop3_teacher.src.com.atguigu08._interface.jdk8;/*** ClassName: CompareA* Description:** @Author 尚硅谷-宋红康* @Create 9:33* @Version 1.0*/
public interface CompareA {//属性:声明为public static final//方法:jdk8之前:只能声明抽象方法//方法:jdk8中:静态方法public static void method1(){System.out.println("CompareA:北京");}//方法:jdk8中:默认方法public default void method2(){System.out.println("CompareA:上海");}public default void method3(){System.out.println("CompareA:广州");}public default void method4(){System.out.println("CompareA:深圳");}//jdk9新特性:定义私有方法
//    private void method5(){
//        System.out.println("我是接口中定义的私有方法");
//    }
}

package chapter08_oop3_teacher.src.com.atguigu08._interface.jdk8;/*** ClassName: CompareB* Description:** @Author 尚硅谷-宋红康* @Create 9:39* @Version 1.0*/
public interface CompareB {public default void method3(){System.out.println("CompareB:广州");}
}

 

package chapter08_oop3_teacher.src.com.atguigu08._interface.jdk8;/*** ClassName: SubClass* Description:** @Author 尚硅谷-宋红康* @Create 9:34* @Version 1.0*/
public class SubClass extends SuperClass implements CompareA,CompareB{@Overridepublic void method2() {System.out.println("SubClass:上海");}public void method3(){System.out.println("SubClass:广州");}public void method4(){System.out.println("SubClass:深圳");}public void method(){//知识点5:如何在子类(或实现类)中调用父类或接口中被重写的方法method4();//调用自己类中的方法super.method4(); //调用父类中的method3();//调用自己类中的方法CompareA.super.method3(); //调用接口CompareA中的默认方法CompareB.super.method3(); //调用接口CompareB中的默认方法}
}

package chapter08_oop3_teacher.src.com.atguigu08._interface.jdk8;/*** ClassName: SubClassTest* Description:** @Author 尚硅谷-宋红康* @Create 9:34* @Version 1.0*/
public class SubClassTest {public static void main(String[] args) {//知识点1:接口中声明的静态方法只能被接口来调用,不能使用其实现类进行调用。CompareA.method1();
//        SubClass.method1();//知识点2:接口中声明的默认方法可以被实现类继承,实现类在没有重写此方法的情况下,默认调用接口中声明的//默认方法。如果实现类重写了此方法,则调用的是自己重写的方法。SubClass s1 = new SubClass();s1.method2();//知识点3:类实现了两个接口,而两个接口中定义了同名同参数的默认方法。则实现类在没有重写此两个接口//默认方法的情况下,会报错。 ---->接口冲突//要求:此时实现类必须要重写接口中定义的同名同参数的方法。s1.method3();//知识点4:子类(或实现类)继承了父类并实现了接口。父类和接口中声明了同名同参数的方法。(其中,接口中的方法//是默认方法)。默认情况下,子类(或实现类)在没有重写此方法的情况下,调用的是父类中的方法。--->类优先原则s1.method4();}
}

 

package chapter08_oop3_teacher.src.com.atguigu08._interface.jdk8;/*** ClassName: SuperClass* Description:** @Author 尚硅谷-宋红康* @Create 9:43* @Version 1.0*/
public class SuperClass {public void method4(){System.out.println("SuperClass:深圳");}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.cpky.cn/p/11548.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

浅聊什么是Redis?

需求:MySQL面临大量的查询,即读写操作,因此类比CPU,给数据加缓存,Redis诞生。应用程序从MySQL查询的数据,在Redis设置缓存(记录在内存中,无需IO操作),后再需要…

【Linux实验室】NFS、DHCP的搭建

NFS、DHCP的搭建 1、nfs服务搭建及测试什么是NFS?环境准备服务端机器安装nfs-utils和rpcbind包启动NFS服务创建/data/NFSdata目录,配置nfs文件启动服务挂载测试在服务端在共享目录下创建文件测试在客户端在共享目录下创建文件 2、dhcp服务搭建及测试什么…

零代码编程:用kimichat将PDF自动批量分割成多个图片

有一个PDF文件,现在想把pdf文件转换成图片, 可以在kimichat中输入提示词: 你是一个Python编程专家,要完成一个将PDF文件自动批量分割成多个图片的任务,具体步骤如下: 打开d盘下的pdf文件:Ill …

通过mapreduce程序统计旅游订单(wordcount升级版)

通过mapreduce程序统计旅游订单(wordcount升级版) 本文将结合一个实际的MapReduce程序案例,探讨如何通过分析旅游产品的预订数据来揭示消费者的偏好。 程序概览 首先,让我们来看一下这个MapReduce程序的核心代码。这个程序的目…

链表面试题

删除链表中等于给定值 val 的所有节点 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }* }*/ …

VSCode上搭建C/C++开发环境(vscode配置c/c++环境)Windows系统---保姆级教程

引言劝退 VSCode,全称为Visual Studio Code,是由微软开发的一款轻量级,跨平台的代码编辑器。大家能来搜用VSCode配置c/c,想必也知道VSCode的强大,可以手握一个VSCode同时编写如C,C,C#&#xff…