Strange Java syntax (for me at least)--怪异的Java语法
List<String> interests = new ArrayList<String>() {{
add("Java");
add("C#");
}};
Although, the following code is familiar to me:
List<String> interests = new ArrayList<String>() {
@Override
public void add(int index, String element) {
// TODO Auto-generated method stub
super.add(index, element);
}
};
Here I've defined a reference named "interests" of type "subclass to ArrayList" and I am overriding the "add" method in this subclass. So, I've re-looked at the first snippet again and could realize it to be:
List<String> interests = new ArrayList<String>() {
// Anonymous initialization block (vs static init block)
{
add("Java");
add("C#");
}
};
As if I defined a class the following way:
public class MyClass {
{
doSomeThing();
doSomeThing();
}
void doSomeThing() {
System.out.println("doing");
}
public static void main(String[] args) {
MyClass c = new MyClass();
}
}
Which Prints:
doing
doing
一楼用户回复:这些都是java的新用法
http://m-hewedy.blogspot.com/2012/02/strange-java-syntax-for-me-at-least.html
Strange Java syntax (for me at least)--怪异的Java语法的更多相关文章
- Java Syntax Specification
Java Syntax Specification Programs <compilation unit> ::= <package declaration>? <imp ...
- Java题库——Chapter1 计算机、程序和Java概述
1)________ is the physical aspect of the computer that can be seen. A)Hardware B) Operating system C ...
- 【解决方案】cvc-complex-type.2.4.a: Invalid content was found starting with element 'init-param'. One of '{"http://java.sun.com/xml/ns/javaee":run-as, "http://java.sun.com/xml/ns/javaee":security-role-r
[JAVA错误] cvc-complex-type.2.4.a: Invalid content was found starting with element 'init-param'. One o ...
- Java 性能分析工具 , 第 2 部分:Java 内置监控工具
引言 本文为 Java 性能分析工具系列文章第二篇,第一篇:操作系统工具.在本文中将介绍如何使用 Java 内置监控工具更加深入的了解 Java 应用程序和 JVM 本身.在 JDK 中有许多内置的工 ...
- Java基本概念(1)什么是Java
什么是Java Java是一种开发语言(核心特点:跨平台,面向对象,名称由来看这里:J2EE里面的2是什么意思),对于开发者来讲,Java基本等于Jdk. Jdk的版本介绍看这里:Java都有那些版本 ...
- eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错? java.lang.ClassNotFoundException: com.branchitech.app.startup.AppStartupContextListener java.lang.ClassN
eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错?java. ...
- 《疯狂Java讲义》(一) ---- 关于学习Java的反思
"听到Spring很火,就立马买来一本Spring的书来读,最后结果往往是失败,因为这种学习没有积累,没有根基,学习过程中困难重重,每天都被一些相同.类似的问题所困扰,起初热情十足,经常上论 ...
- [刘阳Java]_避开环境配置快速的使用Java的开发工具_第5讲
我们一般学习Java都应该遵循通过系统的命令工具来编译Java程序,然后对编译好Java程序进行运行,这个是非常好的习惯.但是随着后期学习Java技术的深入我们也得像Java的IDE工具屈服.所以,可 ...
- java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器
java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器 下载地址:http://yunpan.cn/QXhEcGNYLgwTD 运行方式:java -jar Encryp ...
随机推荐
- java线程基础巩固---Thread中断Interrupt方法学习&采用优雅的方式结束线程生命周期
Interrupt学习: 在jdk中关于interrupt相关方法有三个,如下: 关于上面的疑问会在稍后进行阐述滴,下面看代码: 编译运行: 应该说是t线程为啥在被打断之后没有退出,还是在运行状态,这 ...
- 【SDR】UHD安装教程
USRP作为软件无线电系统中常用的射频设备,其驱动UHD的安装及稳定运行,是SDR系统稳定的必备条件,该篇博客总结UHD的相关安装方法,主要有三种,分别是apt-get.github clone源码编 ...
- hive常用日期函数-模板
已知日期 要求日期 语句 结果 本周任意一天 本周一 select date_sub(next_day('2016-11-29','MO'),7) ; 2016-11-28 本周任意一天 上周一 se ...
- xml配置文件 操作
public class ConfigFile { protected readonly string configBasePath = "Root/Config"; /// &l ...
- 手机存储器在Ubuntu中的挂载位置
造冰箱的大熊猫,本文适用于Ubuntu 16.04和安卓手机@cnblogs 2018/12/6 通过USB数据线将安卓手机与Ubuntu相连,并在手机上设置“USB连接方式”为“传输文件”后,Ubu ...
- flask框架(九): 请求和响应扩展以及中间件
一:请求响应扩展 # 每一次访问都执行 # 注意请求之前按照顺序执行 # 请求之后按照书写顺序倒序执行 # 请求之前执行 @app.before_request def process_request ...
- Quartz.NET 作业调度(一):Test
Quartz.NET 是一个开源的作业调度框架,是 Java 作业调度框架 Quartz 的.NET 版本,对于周期性的任务,其作业和触发器的结合,极大的简化了代码的编写,大多时候我们只需要关注作业本 ...
- AtCoder AGC038F Two Permutations (网络流、最小割)
题目链接 https://atcoder.jp/contests/agc038/tasks/agc038_f 题解 好题. 首先观察到一个性质,对于排列\(P\), 其所形成的每个轮换中的点\(A_i ...
- Swagger : API JSON 文件 转 PDF 问题总结
1. swagger API 转 PDF 具体请参考:woshihoujinxin/swagger-gendoc 2. 问题总结 接口方法值返回值为 void 类型时, @ApiOperation ...
- (三)C语言之变量