从头认识java-8.6 匿名内部类
来源:互联网 发布:青少年计算机编程 编辑:程序博客网 时间:2024/06/13 07:04
这一章节我们来讨论一下匿名内部类。
我们之前已经提到了内部类,如下:
package com.ray.ch03;public class Test {private class OneTest implements MyTest {@Overridepublic void test() {}}private MyTest myTest() {return new OneTest();}public static void main(String[] args) {new Test().myTest();}}interface MyTest {void test();}
上面的内部类看上去没什么问题,但是很多时候我只需要它来辅助,其他地方基本用不上,因此,我们可以简化一下,变成匿名内部类,只是用来辅助方法的。
注意:匿名内部类的实现需要接口或者抽象类来配合
我们将上面的代码修改一下,变成下面的例子:
package com.ray.ch03;public class Test {private MyTest myTest() {return new MyTest() {@Overridepublic void test() {}};}public static void main(String[] args) {new Test().myTest();}}interface MyTest {void test();}
笔者总结了几个注意点:
1.只能在继承或者实现接口里面选一个,不可两者兼备
2.不能够定义构造函数
3.不能使用static
4.不能是抽象的
package com.ray.ch03;public class Test {private MyTest myTest() {// 不能继承MyTest2,只能是在返回类型是MyTest2的时候才能。return new MyTest() {// public MyTest(){}//error// private static int id=1;//error@Overridepublic void test() {}};}public static void main(String[] args) {new Test().myTest();}}interface MyTest {void test();}class MyTest2 {}
总结:这一章节我们简单讲述了一下匿名内部类。
这一章节就到这里,谢谢。
-----------------------------------
目录
0 0
- 从头认识java-8.6 匿名内部类
- 从头认识java-8.8 使用匿名内部类改造7.8章节的工厂方法
- 从头认识java-8.1 内部类
- 从头认识java-8.4 内部类与向上转型
- 从头认识java-8.11 为什么需要内部类?
- 从头认识java-8.11 为什么需要内部类?(2)
- 从头认识java-8.12 内部类的继承
- 关于java匿名内部类的一点认识
- JAVA匿名内部类
- java 匿名内部类
- JAVA匿名内部类
- java 匿名内部类
- JAVA匿名内部类
- java 匿名内部类
- JAVA匿名内部类
- java 匿名内部类
- JAVA匿名内部类
- Java匿名内部类
- PostgreSQL学习手册(性能提升技巧)
- sum,range
- poj 2239 Selecting Courses
- PostgreSQL学习手册(服务器配置)
- 做程序猿8个月的感受(一)~
- 从头认识java-8.6 匿名内部类
- 606第九周周六赛 D - Buildings
- rabbitMQ学习笔记(4):pub/sub
- PostgreSQL学习手册(角色和权限)
- iOS Autorelease的深入理解
- oracle学习笔记--pl/sql编程(流程控制)
- USB 描述符详细解析,来自老外网站,比协议描述清晰
- Vss
- 如何在本地搭建maven私服