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>
相关文章
|
6月前
default过滤器
default过滤器。
31 1
|
6月前
default_if_none过滤器
default_if_none过滤器。
48 1
|
JavaScript
TS中的条件类型(ReturnType)
本偏介绍TS另一种高级类型-条件类型
266 0
|
关系型数据库 MySQL 数据库
mysql数据库 isnull,ifnull,nullif的区别和用法
mysql数据库 isnull,ifnull,nullif的区别和用法
161 0
mysql数据库 isnull,ifnull,nullif的区别和用法
|
机器人
DefaultRobotHWSim::initSim函数详解
DefaultRobotHWSim::initSim函数详解
DefaultRobotHWSim::initSim函数详解
ES6—02:class中的函数
ES6—02:class中的函数
105 0
ES6—02:class中的函数
|
Java 开发者
Default 关键字| 学习笔记
快速学习 Default 关键字。
206 0
|
C++
C++构造函数的default和delete
转自:https://blog.csdn.net/u010591680/article/details/71101737   C++11中,当类中含有不能默认初始化的成员变量时,可以禁止默认构造函数的生成, myCl...
2790 0
|
索引 前端开发
ES6 之关键字 let
正如大家都熟悉的,我们平时在写代码的时候,用var 声明一个变量,除此之外,也再没有接触到其它的关键字了,不管我们声明什么样类型得变量,都用var 搞定了,很方便,但是ES6 告诉你,除了var,还可以试试 let 来声明变量。
1039 0