2019独角兽企业重金招聘Python工程师标准>>>

public class Anonymous {{System.out.println("代码块:"+this.getClass().getName());}public Anonymous() {System.out.println("无参构造函数:"+this.getClass().getName());}
}
class aaa{public aaa() {Anonymous n = new Anonymous(){{System.out.println("Anonymous匿名类:"+this.getClass().getName());}};System.out.println("n:"+n.getClass().getName());List<String> list_1 = new ArrayList<String>(){{System.out.println("List匿名类:"+this.getClass().getName());}};System.out.println("list_1:"+list_1.getClass().getName());List<String> list_2 = new ArrayList<String>();System.out.println("list_2:"+list_2.getClass().getName());}
}
public class AnonymousTest {@Testpublic void test1() {Anonymous n = new Anonymous(){{System.out.println("Anonymous匿名类:"+this.getClass().getName());}};System.out.println("n:"+n.getClass().getName());List<String> list_1 = new ArrayList<String>(){@Overridepublic int size() {System.out.println("size");return super.size();}{System.out.println("List匿名类:"+this.getClass().getName());}};System.out.println("list_1:"+list_1.getClass().getName());System.out.println(list_1.size());List<String> list_2 = new ArrayList<String>();System.out.println("list_2:"+list_2.getClass().getName());}@Testpublic void test2(){System.out.println("--------------------");aaa a = new aaa();}
}

输出:

代码块:test.AnonymousTest$1
无参构造函数:test.AnonymousTest$1
Anonymous匿名类:test.AnonymousTest$1
n:test.AnonymousTest$1
List匿名类:test.AnonymousTest$2
list_1:test.AnonymousTest$2
size
0
list_2:java.util.ArrayList
--------------------
代码块:test.aaa$1
无参构造函数:test.aaa$1
Anonymous匿名类:test.aaa$1
n:test.aaa$1
List匿名类:test.aaa$2
list_1:test.aaa$2
list_2:java.util.ArrayList

总结:

代码块写在那个类,就是那个类的匿名类

结果相当于匿名类继承原有类,并且覆盖方法

转载于:https://my.oschina.net/nullObject/blog/181802

new对象后的代码块(匿名类)相关推荐

  1. java类静态初始化_Java静态代码块和类初始化、实例初始化过程

    1. 静态代码块 静态代码块:定义在类中方法外,使用static修饰 ①可以为类变量(静态变量)初始化 ②静态代码块在第一次使用这个类之前执行,即在类初始化时执行,且只执行一次 ③若有多个静态代码块, ...

  2. 私有变量访问/延后执行代码块

    1.私有变量访问 NSString *str; Mobj *obj = [[Mobj alloc] init]; object_getInstanceVariable(obj, "mt_&q ...

  3. 内嵌Tomcat的Connector对象的静态代码块

    在排查问题的过程中发现Connector对象有一个静态代码块: static {replacements.put("acceptCount", "backlog" ...

  4. c++中delete对象后 调用成员函数_C++类的特殊成员函数及default/delete特性

    本文包含以下内容 1. C++的四类特殊成员函数介绍,重点介绍拷贝构造函数和拷贝复制运算符 2. C++11中的default/delete特性 本文内容侧重个人理解,深入理解其原理推荐https:/ ...

  5. 面向对象4(匿名对象、内部类、包、修饰符、代码块)

    1.匿名对象 指在创建对象的时候,只有创建语句,没将对象地址赋值给某个变量 new Person(); 1.1 特点 1.创建时,可直接使用,没有变量名 new Person().eat(); 2.匿 ...

  6. Java——面向对象进阶(final关键字,static关键字,匿名对象,内部类,四种访问修饰符,代码块)...

    一.final关键字 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后,就可 ...

  7. -1-2 java 面向对象基本概念 封装继承多态 变量 this super static 静态变量 匿名对象 值传递 初始化过程 代码块 final关键字 抽象类 接口

    java是纯粹的面向对象的语言 也就是万事万物皆是对象 程序是对象的集合,他们通过发送消息来相互通信 每个对象都有自己的由其他的对象所构建的存储,也就是对象可以包含对象 每个对象都有它的类型  也就是 ...

  8. 代码块(普通代码块、构造代码块、静态代码块、同步代码块)、初始化(类初始化、对象初始化)

    普通代码块:类里的代码块,方法里的代码块,语句代码块,{} 构造代码块:直接写在类里方法外的代码块,用来对实例对象进行初始化 静态代码块:语法上,在构造代码块前加一个static,用来对类进行初始化 ...

  9. java中静态变量,静态代码块,静态方法,实例变量,匿名代码块的加载顺序

    1. java中静态变量,静态代码块,静态方法,实例变量,匿名代码块 在Java中,使用{}括起来的代码称为代码块,代码块可以分为以下四种: (1)普通代码块:就是类中方法的方法体 public vo ...

  10. 【Java 进阶】匿名类(代码传递、回调、过滤器)、Lambda表达式(方法引用)、函数式接口(Supplier、Consumer、Predicate、Function)

    匿名类 匿名类(Anonymous Class) 匿名类的使用注意 匿名类 - 代码传递 - 测试代码运行时间的工具类 匿名类 - 回调 - 简易网络请求 匿名类 - 过滤器 - 获取目录下的所有文件 ...

最新文章

  1. 滑动轮播图实现最后一张图片无缝衔接第一张图片
  2. 基于HTML5手机上下滑动翻页特效
  3. 二阶振荡环节的谐振频率_晶振频率稳定性的两个重要因素
  4. 【游戏策划】学习笔记(一)----手游海岛奇兵拆解
  5. 光纤OTDR测试是端到端损耗原理
  6. 基于Android studio开发的图灵智能聊天机器人
  7. 建站之星网站 和服务器,建站之星网站 和服务器
  8. 内卷到底是什么意思?
  9. Android 获取人民币符号
  10. 菜鸟学-业务流程图、数据流图、模块结构图
  11. 深度估计 双目深度估计+单目深度估计 ONNX运行程序
  12. ISACA最新高薪认证 | CDPSE数据隐私解决方案工程师
  13. HP-UX之MP管理
  14. 【吐槽】B站大量番剧下架,程序猿们这时都在干什么?
  15. 白鹭引擎 4.0 发布 让重度H5游戏研发更简单
  16. sql server 字符串和日期的转换函数
  17. 将svg图片转换icon
  18. OpenglES2.0 for Android:第一个OpenglES应用
  19. 【论文阅读】【3d目标检测】Behind the Curtain: Learning Occluded Shapes for 3D Object Detection
  20. PostgreSQL - null和''的区别与判断以及COALESCE函数

热门文章

  1. 不得罪人 VS 不怕得罪人
  2. (转)uml 交互视图
  3. 想要升级Big Sur?你的Mac与Big Sur兼容吗?
  4. Ubuntu 20.04部署minikube配置不上阿里云的minikube镜像
  5. FL Studio20.8.2(水果win10)中文版主要软件更新内容
  6. AQS-sync同步队列 [自定义同步器框架]
  7. Android MVP+Retrofit(封装)+RxJava实例
  8. 【转】使用AIDL实现进程间的通信之复杂类型传递
  9. Mac OS X Tips
  10. linux-LINUX试题