java中内部类

下面我列出个程序,能看懂这个程序的错误相信对内部类的理解就变得容易多了

class InnerClassDemo6 {
	static class Inner{
		void show(){
                     System.out.println("11111");
              } 
	}
	public void method(){
		this.new Inner().show();
	}
	public static void main(String[] args) {
		This.new Inner().show();
	}
}


 在这个程序中有两个错误的地方 
  

另外一个程序,补足程序,用到匿名内部类的知识

interface Inter{
	void show();
}
class Outer{
//在这里补足程序
}
class InnerClassDemo7 {
	public static void main(String[] args) {
		Outer.method().show();

答案为:

public static Inter method(){

     return new Inter(){
         public void show(){
             System.out.println("11111");
        }

};


Outer.method():意思是:Outer中有一个名称为method的方法,而且这个方法是静态的。

Outer.method().show():当Outer类调用静态的method方法运算结束后的结果又调用了show方法,意味着:method()方法运算完一个是对象,而且这个对象是Inter类型的。



你可能感兴趣的:(java,内部类)