黑马程序员技术交流社区
标题:
什么是匿名类
[打印本页]
作者:
bj_zlh
时间:
2014-8-19 23:15
标题:
什么是匿名类
什么是匿名类?求解各位大神 举个详细点的例子
作者:
abc83983682
时间:
2014-8-20 00:27
顾名思义,没有名字的类!
作者:
lspooooo
时间:
2014-8-20 11:35
全称叫匿名内部类,没有名称,直接new父类对象
new 父类名&接口名(){定义子类成员或覆盖父类方法}.方法
作者:
忆梦追风
时间:
2014-8-20 21:00
见名知意,没有名字的类呗,但是这种类直接存在其他类中,属于内部类,这种类创建后只用一次,所以可以匿名创建
作者:
—Jimmy—
时间:
2014-8-20 21:02
直接new出来,但是前面没有他的引用,就是你new的这个对象没有名字吧,这样理解
作者:
bj_zlh
时间:
2014-8-20 22:11
恩,谢谢啊
作者:
付剑翊
时间:
2014-8-20 23:44
当你只想一次性的使用某一个类的某个功能,就可以定义一个匿名类
作者:
happymouse
时间:
2014-8-21 00:38
可以分两种情况:
第一种不创建匿名内部类对象
//抽象父类
abstract class Inner
{
public abstract void show();
}
class Outer
{
public void song()
{
//创建匿名内部类
new Inner()
{
public void show()
{
System.out.println("show内部类运行成功");
}
//无对象匿名内部类可以定义自定义函数内容,也可以进行调用
public void abc()
{
System.out.println("abc内部类运行成功");
}
}.abc();
}
public static void main(String[] agrs)
{
new Outer().song();
}
}
复制代码
第二种:
创建匿名内部类对象
//抽象父类
abstract class Inner
{
public abstract void show();
}
class Outer
{
public void song()
{
//创建匿名内部类
Inner in=new Inner()
{
public void show()
{
System.out.println("show内部类运行成功");
}
//有对象匿名内部类可以定义自定义函数内容,但不能用对象进行调用
public void abc()
{
System.out.println("abc内部类运行成功");
}
};
in.show();
//下面语句编译不通过,因为创建匿名内部类对象时使用的是多态,父类对象里面没有abc()方法,
//所以不能进行调用
in.abc();
}
public static void main(String[] agrs)
{
new Outer().song();
}
}
复制代码
作者:
bj_zlh
时间:
2014-8-21 07:17
谢谢分享啊
作者:
小洁呵呵
时间:
2014-8-21 09:21
没有名字的类
作者:
男人你得有范
时间:
2014-8-21 09:25
什么时候用到匿名内部类
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2