匿名类(Anonymous Class)
匿名内部类,简称匿名类:是内部类的一种化简写法。
基本写法如下:
BaseType obj=new BaseType(){
//类的定义
}

Java项目中匿名类的写法十分常见。

匿名内部类也是内部类,所以语法上和内部类一样使用。
this. 访问本类对象的成员

OUTER.this 访问外部类OUTER对象的成员

AbstractClass.java

package my;public abstract class AbstractClass
{public abstract void Print();
}

HelloWorld.java

package my;public class HelloWorld
{public void CalledAbstractClassPrint() {AbstractClass Anonymous_Abstract=new AbstractClass() {@Overridepublic void Print(){System.out.println("Anonymous_Abstract Called");}};Anonymous_Abstract.Print();}public void CalledNormalClassPrint() {NormalClass Anonymous_Normal=new NormalClass() {public void Print() {System.out.println("Anonymous_Normal called");super.Print();}};Anonymous_Normal.Print();}public void CalledInterfaceDemoPrint() {InterfaceDemo Anonymous_Interface=new InterfaceDemo() {@Overridepublic void Print(){System.out.println("Anonymous_Interface called");}};Anonymous_Interface.Print();}public static void main(String[] args){      HelloWorld t=new HelloWorld();t.CalledAbstractClassPrint();t.CalledNormalClassPrint();t.CalledInterfaceDemoPrint();}
}

InterfaceDemo.java

package my;public interface InterfaceDemo
{public void Print();
}

NormalClass.java

package my;public class NormalClass
{private int data=10;public void Print() {System.out.println("The value of NormalClass is "+data);}}

运行结果:

Java高级语法笔记-匿名类(Anonymous Class)相关推荐

  1. Java高级语法笔记-模板类

    模板类 模板类用与表示通用的数据结构和算法. 例如,定义一个类List,表示通用链表(适用于任意对象的类型) 定义模板类: class List<T>{ } 使用模板类:创建List对象时 ...

  2. Java高级语法笔记-自定义异常类

    自定义异常类 继承Exception,自定义异常类: 异常类要能够描述错误信息 比如,非法字符异常 IllegalCharException应该把非法字符的位置带上. throws多种异常 throw ...

  3. Java高级语法笔记-语法支持的异常

    语法支持的异常 Java对异常支持得很彻底,举例来说: (java.lang.*下面,语法自带的异常类) 数组越界 ArrayIndexOutOfBoundsException 除0异常 Arithm ...

  4. Java高级语法笔记-反射机制(Reflection) (1)

    反射机制:在C/C++里面是没有的. 反射机制是Java的一个非常重要的机制.一些著名的应用框架都使用了此机制. java.lang.Class它是Java语法的一个基础类,用于描述一个class对象 ...

  5. Java高级语法笔记-文件读写(2)

    文件读写(2) int与byte[]之间的互相转化 使用java.nio.ByteBuffer类可以完成int到 byte[]的转换 byte[] buf = new byte[4]; int a = ...

  6. Java高级语法笔记-枚举类型

    用enum定义枚举类型,即定义一些常量. public enum Weekday{ SUNDAY,MONDAY,TUESDAY,WEDNESDAY, THURSDAY,FRIDAY,SATURDAY ...

  7. Java高级语法笔记-接口(interface)

    接口interface 接口和抽象类写法是一样的(只定义一个声明) interface的使用:定义一个类,implements这个接口.(对比abstract class,extends) inter ...

  8. Java高级语法笔记-普通异常处理

    地位: 1. Java彻底地.完全地支持了异常机制. 2. 无处不在.必须掌握. 正常情况:传入一个数组,长度为N,则getMax能够正常运作得到最大值. 异常情况:传入一个数组,长度为0...如何处 ...

  9. Java高级语法笔记-库的使用(jar)

    库的使用(jar) 开发一个有用的类,想给别人使用,但是不想把源代码给别人. Java里的库文件的形式 *.jar 可以将编译出的class文件打包成 *.jar格式,称为jar包.将jar包发给别人 ...

最新文章

  1. 如何在数据库中高效实现订座功能?
  2. wpf c 登录注册 mysql代码代码_Wpf+数据库代码封装+策略模式封装
  3. python里遍历筛选xml文件_python xml.etree.ElementTree遍历xml所有节点实例详解
  4. java一维数组的特点,数据结构:java数组特点以及声明数组类
  5. Notepad++连接VMWare中Linux只能看到/root目录
  6. 冯·诺依曼计算机特点
  7. python selenium 怎么查找modal悬浮窗的内容_python教程:五分钟从pubmed down几万篇文献...
  8. Elasticsearch学习系列-ElasticSearch 核心概念
  9. 虚拟化桌面初始化配置处理
  10. lisp读点坐标绘多义线_AutoCAD中多义线的坐标标注
  11. 【树状数组 思维题】luoguP3616 富金森林公园
  12. zz Makefile学习教程: 跟我一起写 Makefile
  13. linux qt安装包下载链接
  14. Games 图形学 L2线性代数
  15. 【VS2015】 C++实现硬件ID的查询
  16. Mysql如何清空数据库中所有的表数据
  17. oracle sqlldr decode,sqlldr时遇到的一个问题
  18. 模拟大规模电动车充电行为(Matlab实现)
  19. 麻省理工大学公开课学习笔记【1、算法分析】
  20. c语言实现7段数码管显示,FPGA入门--七段数码管显示

热门文章

  1. 学妹问,学网站开发还是打 ACM?
  2. java压缩zip文件中文乱码问题
  3. 一本书看懂数字化转型|全新《2021年度案例观察》限时免费送
  4. 帆软《商业智能》书籍首发,国产BI行业独家,福利发售!
  5. 刚到的新公司 前任经理匆匆见了一面 飞鸽传书下载
  6. 没事聊聊C++局域网聊天软件
  7. 现在人人都要准备的2020年六个事关职业生涯的技术趋势
  8. 基于网络索引树的异常轨迹检测算法
  9. 续昨天的文章,在火山图标记基因名字
  10. 被引10万次:21世纪高被引论文Top 10