abstract class AbsDemo{
abstract void show();
}
class Outer2{
int x = 3;
class Inner1 extends AbsDemo{
int inner = 1;
void show(){
System.out.println("show( Inner )");
}
void getInner(){
System.out.println(inner);
}
}
public void function(){
Inner1 in1 = new Inner1();
in1.show();
in1.getInner(); /* new AbsDemo(){ //若是采用匿名类
int inner = 1;
void show(){
System.out.println("show( inner )");
}
void getInner(){
System.out.println(inner);
}
}.show(); */ //怎么用一个父类对象访问 show() 和 getInner()方法 ? }
}
public class InnerClass3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Outer2 out = new Outer2();
out.function();
}}
void print1();
}public class Test4 {
public pr dest() {
return new pr() {
public void print1() {
System.out.println("Hello world!!");
}
};
} public static void main(String args[]) {
Test4 c = new Test4();
pr hw = c.dest();
hw.print1();
}
}
int inner = 1;
void show(){
System.out.println("show( inner )");
}
void getInner(){
System.out.println(inner);
}
}.getInner();//输出 1
如果写入了接口中未定义的方法,这本身就是不合法的,如果在eclipse下面的话会提示警告。
你想一下匿名内部类的作用是什么?
如果你真的去调用匿名内部类中的非定义方法的话,那匿名内部类的作用也就失去了。
如果写入了接口中未定义的方法,这本身就是不合法的,如果在eclipse下面的话会提示警告。
你想一下匿名内部类的作用是什么?
如果你真的去调用匿名内部类中的非定义方法的话,那匿名内部类的作用也就失去了。
哦,知道了,看来匿名内部类只能做好分内的事了...