//局部类
package com_black.InnerClass.jubu_neibulei;
public class Outer {
private int m=66;
public void method(){
int m2=99;
class In{
public void show(){
System.out.println(m);
System.out.println(m2);
}
}
In a=new In();
a.show();
}
}
package com_black.InnerClass.jubu_neibulei;
public class OuterDemo {
public static void main(String[] args) {
Outer o=new Outer();
o.method();
}
}
//匿名类
package com_black.InnerClass.niming_neibulei;
public interface Inter {
void show();
}
package com_black.InnerClass.niming_neibulei;
/*
前提:
存在一个类或者接口
这里的类可以是具体的类也可以是抽象类
格式:
new类名或者接口名(){
重写方法;
};
*/
public class Outer {
public void method(){
/*
new Inter(){
@Override
public void show(){
System.out.println("匿名内部类");
}
}; //执行之后无结果
*/
new Inter(){
@Override
public void show(){
System.out.println("匿名内部类");
}
}.show();//调用一次
//多次调用
Inter i= new Inter(){
@Override
public void show(){
System.out.println("匿名内部类");
}
};
i.show();
i.show();//此时调用了两次
}
}
package com_black.InnerClass.niming_neibulei;
public class OuterDemo {
public static void main(String[] args) {
Outer o=new Outer();
o.method();
}
}