12.4方法中定义内部类

内部类理论上可以在类的任意位置上进行定义,包括代码块中或普通方法中,在普通方法中定义内部类的情况也是比较常见的。
范例:在方法中定义内部类。

public class Outer264 {
       private String msg="www.hmm.com";   //外部类属性
       public void fun(long time) {       //外部类方法
    	   class Inner{                     //方法中定义内部类
    		   public void println() {      
    			   System.out.println(Outer264.this.msg);//外部类属性
    			   System.out.println(time);              //方法参数
    		   }
    	   }
    	   new Inner().println();                   //方法中直接实例化内部类对象
       }
      
} 

public class Java265 {
       public static void main(String[] args) {
		new Outer264().fun(55555); //调用外部类方法
	}
}

执行结果

www.hmm.com
55555

本程序在Outer264.fun()方法中定义了内部类Inner,并且在Inner内部类中实现外部类中成员属性与fun()方法中的参数访问。

在JDK1.8之前的定义模式,可以发现要在方法 的参数和局部变量上加入final关键字后内部类才可以访问,之所以提供这种支持,只要是为了支持Lambda表达式。

发布了168 篇原创文章 · 获赞 9 · 访问量 3280

猜你喜欢

转载自blog.csdn.net/ll_j_21/article/details/104822606
今日推荐