/*
1、匿名内部类就是内部类的简写格式。
2、定义匿名内部类的前提
内部类必须是继承一个类或者实现接口。
3、匿名内部类的格式: new 父类或者接口(){定义子类内容}。
4、匿名内部类就是一个匿名子类对象,而且这个对象有点胖,可以理解为带内容的对象。
5、匿名内部类中定义的方法最好不超过三个
*/
abstract class AbsDemo //定义抽象类
{
abstract void show();
}
class Outer //外部类
{
int x=3;
public void function()
{
// new Inner().show(); //创建Inner对象 调用方法
//Inner in=new Inner();
//in.show();
//in.abc();
//AbsDemo a=new Inner();
//a.show()
//a.abc() //不行的 父类中没定义过
//1.不能调用自己的方法 2.匿名内部类 不能强转3.过长 阅读性差 它方法一般不超过三个 匿名方法
AbsDemo a=new AbsDemo(){ //抽象类不能创建对象
void show()
{
System.out.println("x==="+x);
}
void abc()
{
System.out.println("hhhhhhhhhhhhh");
}
}; //匿名对象对方法只能调用一次
a.show();
}
class InnerClassDemo3
{
public static void main(String[] args)
{
System.out.println("Hello World!");
new Outer().function();
}
}
上面这段代码 ,我查了几遍没发现问题,为什么编译提示“进行语法解析已达到文件结尾}-〉 ” |