Default 关键字 学习笔记

简介: 快速学习 Default 关键字。

开发者学堂课程【 Java 面试疑难点串讲1:面试技巧及语言基础:Default 关键字】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/24/detail/481


Default 关键字


最初时代开始,Default 基本上都是作为 swich 的语句联合使用package cn. mldn . demo;

public class TestSwitch {

public static void main(String[ ] args) {

int ch=1;

switch (ch)

case 0 : System. out.println("内容是0");

case 1 : System. out . println("内容是1");

case 2 : System. out. println("内容是2");

default : System. out . println("默认值");

}

}

}

内容是1

内容是2

默认值

所以最初在编写 swich 的时候往往都会在每一个 case 之中增加一些 break 语句。

package cn.mldn. demo;

public class TestSwitch {

public static void main(String[ ] args) {

int ch=6;

switch (ch) {

case 0:

System . out . print1n("内容是0");

break;

case 1:

System. out . println("内容是1");-

break;

case 2:

System. out , println("内容是2");

break;

default :

System. out . print1n("默认值");

}

}

}

从 JDK1.8开始出现了一些新的语法环境。

Lambda 表达式出现,接口的问题开始出现,假若此刻在最初某个项目的1.0版本里面定义有一个接口的方法,但是后来这个接口的子类特别多,大约有1000W个,在这样的情况下,如果要对接口扩充一个方法(并且这个方法所有子类的实现都一样),在这样的情况下,代码的编写就会异常的繁琐,此刻 Java 重新定义了接口的定义,出现了 default 与 static 定义接口的方法,而 default 方法好比一个普通方法,必须有实例化对象,static 方法可以直接使用接口名称进行调用。

package cn.mldn. demo;

interface IMessage {

public void print( );//抽象方法

default void getMsg( ) { //是一个普通方法,JDK 1,8之后才有

System.out.println(“******************************”);

}

}

Class MessageImpImp1 implements IMessage {

@Override

Public void print ( ){//覆写的方法

System.out.println(this.getClass( ).getName());

}

}

Public class TestDefault {

Public static void main(String[ ] args) {

IMessage msg=new MessageImp1( );

msg.getMsg( );

}|

default 在接口中的出现改变了传统接口实现模式,可以定义普通方法,这样假设某些方法对于所有的子类都具有同样的实现,则可减少定义,但此类形式暂未完全推广开,先作为连接即可。

            </div>
相关文章
|
机器学习/深度学习 算法 网络架构
基于yolov2深度学习网络的人脸检测matlab仿真,图像来自UMass数据集
**YOLOv2算法在MATLAB2022a中实现人脸检测:** 展示6个检测结果图,利用Darknet-19进行特征提取,网络每个网格预测BBox,包含中心偏移、尺寸、置信度和类别概率。多任务损失函数结合定位、置信度和分类误差。程序加载预训练模型,遍历图像,对检测到的人脸以0.15阈值画出边界框并显示。
|
网络协议 编译器 Linux
【C语言】结构体内存对齐:热门面试话题
【C语言】结构体内存对齐:热门面试话题
417 0
|
11月前
|
算法 编译器 C++
【C++】模板详细讲解(含反向迭代器)
C++模板是泛型编程的核心,允许编写与类型无关的代码,提高代码复用性和灵活性。模板分为函数模板和类模板,支持隐式和显式实例化,以及特化(全特化和偏特化)。C++标准库广泛使用模板,如容器、迭代器、算法和函数对象等,以支持高效、灵活的编程。反向迭代器通过对正向迭代器的封装,实现了逆序遍历的功能。
140 3
|
Java
JavaSE——面向对象基础(3/4)-封装、实体JavaBean(什么是封装、封装的设计规范、什么是实体类、实体类的应用场景)
JavaSE——面向对象基础(3/4)-封装、实体JavaBean(什么是封装、封装的设计规范、什么是实体类、实体类的应用场景)
108 6
|
JavaScript Java 测试技术
基于Java的江苏融汇房地产营销策划有限公司的宣传网站的设计与实现(源码+lw+部署文档+讲解等)
基于Java的江苏融汇房地产营销策划有限公司的宣传网站的设计与实现(源码+lw+部署文档+讲解等)
109 0
基于Java的江苏融汇房地产营销策划有限公司的宣传网站的设计与实现(源码+lw+部署文档+讲解等)
|
存储 数据管理 数据处理
阿里云对象存储OSS怎么收费?
阿里云对象存储OSS包年包月和按量付费,存储包、流量包收费价格,OSS标准(LRS)存储包100GB优惠价33元、500GB存储包半年162元、OSS存储包40GB一年9元,OSS流量包100G 49元/月
2623 0
阿里云对象存储OSS怎么收费?
|
算法 数据安全/隐私保护
【密码学】密码学概述
每个人都有自己的秘密,如果不加密,在网上传输很容易被监听。如果涉及到金钱相关,密码泄露以后很容易造成损失。所以都会利用加密 cryptography 技术,保证信息的机密性 confidentiality。信息被加密以后变成了密文在网上传播,接收者拿到密文进行解密 cryptanalysis,解密以后就可以看到明文。对称密码 (symmetric cryptography)是指在加密和解密时使用同一密钥的方式。对应的加密方式是对称加密。目前广泛使用 AES。对称密码有多种别名,公共密钥密码(common-k
312 0
【密码学】密码学概述
|
存储 达摩院 Cloud Native
5篇论文入选国际顶会SIGMOD,阿里云&达摩院数据库技术研究再获认可
近日,ACM SIGMOD 2022在美国费城召开,阿里云数据库团队5篇论文入选,覆盖云原生、智能化、安全可信等数据库前沿研究方向。其中2篇为阿里云和达摩院的独立研究,体现了阿里云在数据库领域的自研成果达到了世界先进水平,得到了业界的广泛认可。
5篇论文入选国际顶会SIGMOD,阿里云&达摩院数据库技术研究再获认可
|
安全 数据建模 网络安全
企业使用IP证书有哪些好处?
我们在之前介绍过SSL证书中的DV、OV和EV证书的区别,也介绍过代码签名证书,邮件签名证书的作用优势,其实在“数字证书家族”中不仅仅是只包含这几类证书,还有一种比较特别的证书,它不是颁发给域名的,它是颁发给IP地址的证书,它就是IP SSL证书。 IP SSL证书,顾名思义就是颁发给IP地址,保护IP地址的证书。通常情况下,由于SSL证书只是颁发给域名的,但是有些客户没有域名或者不方便使用域名的情况下,就需要使用IP加密,IP证书解决了企业对IP实现https加密的需求,是解决网络信息安全问题的重要方案。
200 0
企业使用IP证书有哪些好处?
微积分:微分
1.代数推导 假设我们有一个正方形初始边长为X,这时面积S1=x² 然后正方形的边长增加△x,此时面积S2=(x+△x)² 变化的面积大小是△s=(x+△x)²- x²=2x△x+(△x)² 观察可以发现当△x越小(△x)²会比2x△x率先趋近于0,也就是换句话说,当△x很小时我们可以近似的认为 △s=2x△x 仔细观察上面的式子,这个2X其实就是x的平方的导数,这时候我们是不是就理解了为什么说导数可以描述变化趋势的快慢。
245 0