匿名内部类:前提:内部类可以继承或实现一个外部类或者接口
格式为:new 外部类名或者接口名(){覆盖类或者接口中的代码,
(也可以自定义内容)}
简单理解:
就是建立一个带内容的外部类或者接口的子类的匿名对象。
就是内部类的简化写法。
内部类可以实现和继承。
class NoNameDemo
{
public static void main(String[] args)
{
Do d = new Do();
//d.print(new B());
d.print(new A(){public void test(){
System.out.println("haha");
}});
}
}
interface A
{
void test();
}
/*
class B implements A
{
public void test(){
System.out.println("hahah");
}
}
*/
class Do
{
public void print(A a){
a.test();
}
{
public static void main(String[] args)
{
Do d = new Do();
//d.print(new B());
d.print(new A(){public void test(){
System.out.println("haha");
}});
}
}
interface A
{
void test();
}
/*
class B implements A
{
public void test(){
System.out.println("hahah");
}
}
*/
class Do
{
public void print(A a){
a.test();
}
}
内部类的扩展:
接口里边可以定义内部接口和抽象类
抽象类也可以定义接口和抽象类