java{{}}写法,匿名内部类初始化
Posted --believe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java{{}}写法,匿名内部类初始化相关的知识,希望对你有一定的参考价值。
前言
在刷题的时候看到有人写代码用了写法,以前没有见过,特此记录。
Queue<TreeNode> queue = new LinkedList<>() add(root); ;
简单介绍
举例
这种方法是对一个集合进行初始化操作,避免了对集合初始化进行一条一条的add。
ArrayList<String> list = new ArrayList<String>()
add("A");
add("B");
add("C");
;
// 和下面功能实现一样
// ArrayList<String> list = new ArrayList<String>();
// list.add("a");
// list.add("b");
// list.add("c");
理解
第一个括号
//定义了一个继承于ArrayList的类,它没有名字
new ArrayList<String>()
//在这里对这个类进行具体定义
;
这里的括号表示对一个类进行具体的定义。
第二个括号
new ArrayList<String>()
//这里是实例初始化块,可以直接调用父类的非私有方法或访问非私有成员
;
这里的括号表示实例初始化块(Instance Initialiazer Block),也被称为非静态初始化块。
类比于静态初始块
static
//静态初始块
参考
https://www.cnblogs.com/dengyungao/p/7524981.html
以上是关于java{{}}写法,匿名内部类初始化的主要内容,如果未能解决你的问题,请参考以下文章