javaSE-面向对象-匿名内部类
来源:互联网 发布:淘宝企业开店需要 编辑:程序博客网 时间:2024/05/21 23:08
匿名内部类
l就是内部类的简化写法。
l前提:
•内部类可以继承或实现一个外部类或者接口。
l格式为:
•new外部类名或者接口名(){覆盖类或者接口中的代码,(也可以自定义内容。)}
l简单理解:
•就是建立一个带内容的外部类或者接口的子类匿名对象。
package com.test3;/*匿名内部类的形式。其实就是对内部类进行简化书写。必须有前提:内部类必须继承或者实现类或接口。格式:new 父类名或者接口名(){定义内部类的内容;}匿名内部类其实就是一个子类匿名对象。*/abstract class AbsDemo{abstract void function();}class Outer{int num = 4;/*class Inner extends AbsDemo{void function(){System.out.println("num="+num);}}*/void method(){//new Inner().function();new AbsDemo()//创建了内部类的对象。{//对内部类的描述。void function(){System.out.println("num===="+num);}}.function();}}class NoNameInnerDemo {public static void main(String[] args) {Outer out = new Outer();out.method();}}
package com.test4;abstract class AbsDemo{abstract void function();abstract void show();}class Outer{int num = 4;/*class Inner extends AbsDemo{void function(){}void show(){}}*/void method(){//Inner in = new Inner();//in.function();//in.show();AbsDemo a = new AbsDemo(){void function(){}void show(){}};a.function();a.show();}void method2(){Object obj = new Object()//父类引用指向了子类对象。子类对象被向上转型了。{void show2(){System.out.println("show2 run");}void show3(){System.out.println("show3 run");}};//obj.show2();//失败的。因为Object中没有定义show2方法。}}class NoNameInnerDemo2 {public static void main(String[] args) {//Outer out = new Outer();//out.method2();Outer2.show().method();/*Outer2.show(): Outer2类中有一个show方法。而且这个方法是被静态修饰的。Outer2.show().method();调用完show方法后的运算结果是一个对象,一个可以调用method方法的对象。这个对象类型一定是Inter类型。*/}}class Outer2{//补足内部代码。用匿名内部来完成。static Inter show(){return new Inter(){public void method(){}};}}interface Inter{public void method();}
0 0
- javaSE-面向对象-匿名内部类
- javaSE-面向对象-内部类
- JAVASE 面向对象 多态 单类设计模式 内部类 匿名内部类
- JavaSE实战——面向对象(中) 抽象类,接口,多态,内部类,匿名内部类
- JavaSE实战——面向对象(中) 抽象类,接口,多态,内部类,匿名内部类
- 面向对象---匿名内部类
- 面向对象--匿名内部类
- JavaSE 学习参考:匿名内部类和匿名对象
- Java面向对象高级--匿名内部类
- java面向对象-匿名内部类
- 面向对象(匿名内部类)
- Java面向对象 匿名内部类
- JAVA面向对象-----匿名内部类
- 面向对象——匿名内部类
- Java面向对象-匿名内部类
- JavaSE--05--内部类,匿名内部类
- 黑马程序员_day09 面向对象(内部类访问规则,静态内部类,内部类定义原则,匿名内部类)
- 【面向对象(高级)】_匿名内部类笔记
- 修改lua的文件加载器,自定义lua文件加载
- Java 汉字转换为拼音字符串
- 印度一教科书错误上百 称日本向美投原子弹
- Inno Setup入门(二)——修改安装过程中的图片
- LogFactor5日志工具的发现
- javaSE-面向对象-匿名内部类
- Rational Rose 2003 下载、破解及安装方法(图文)
- java抓取log的jar包
- c# Invoke和BeginInvoke 区别
- Web service stop after running serveral hours
- android ANR
- 【一分钟打动人的说话技巧】
- Linux日志管理(一)
- 打车软件,再这么投钱都没用。但是,这场比拼谁都是赢家!