java 之匿名内部类
2016-05-11 11:30
471 查看
匿名内部类:
1,匿名内部类其实就是内部类的简写格式。
2,定义匿名内部类的前提:
内部类必须是继承一个类或者实现接口。
3,匿名内部类的格式: new 父类或者接口(){定义子类的内容}
4,其实匿名内部类就是一个匿名子类对象。
5,匿名内部类中定义的方法最好不要超过3个。
abstract class AbsDemo
{
abstract void show();
}
class Outer
{
int x = 3;
/*
class Inner extends AbsDemo
{
int num = 90;
void show()
{
System.out.println("show :"+num);
}
void abc()
{
System.out.println("hehe");
}
}
*/
public void function()
{
//AbsDemo a = new Inner();
// Inner in = new Inner();
// in.show();
// in.abc();
AbsDemo d = new AbsDemo()
{
int num = 9;
void show()
{
System.out.println("num==="+num);
}
void abc()
{
System.out.println("haha");
}
};
d.show();
//d.abc();//编译失败;
}
}
1,匿名内部类其实就是内部类的简写格式。
2,定义匿名内部类的前提:
内部类必须是继承一个类或者实现接口。
3,匿名内部类的格式: new 父类或者接口(){定义子类的内容}
4,其实匿名内部类就是一个匿名子类对象。
5,匿名内部类中定义的方法最好不要超过3个。
abstract class AbsDemo
{
abstract void show();
}
class Outer
{
int x = 3;
/*
class Inner extends AbsDemo
{
int num = 90;
void show()
{
System.out.println("show :"+num);
}
void abc()
{
System.out.println("hehe");
}
}
*/
public void function()
{
//AbsDemo a = new Inner();
// Inner in = new Inner();
// in.show();
// in.abc();
AbsDemo d = new AbsDemo()
{
int num = 9;
void show()
{
System.out.println("num==="+num);
}
void abc()
{
System.out.println("haha");
}
};
d.show();
//d.abc();//编译失败;
}
}
相关文章推荐
- java初始化的执行顺序
- 简单选择排序java版
- java枚举使用详解
- java中小数的处理:高精度运算用bigDecimal类,精度保留方法,即舍入方式的指定
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
- 简单谈谈JVM、JRE和JDK的区别与联系
- MySQL快速入门(一)—Java进阶学习第十五天
- java8 HashMap table寻址
- Spring注解@Component、@Repository、@Service、@Controller区别
- java Properties类
- ip-int-byte[]互转-使用java原生api
- Java不写文件,LOAD DATA LOCAL INFILE大批量导入数据到MySQL的实现
- java web 虚拟主机配置
- Spring 源码阅读–beans-(1)
- java实现base64编码和解码
- Java类的初始化
- java File类
- Spring核心技术(二)——Spring的依赖及其注入
- Spring 核心技术IoC容器(二)
- 重构二叉树(Java实现)