内部类

1、通过内部类调用外部类中的私有属性

 1 class Outer{
 2     private String info = "hello";
 3     class Inner{
 4         public void print(){
 5             System.out.println(info);
 6         }
 7     }
 8     public void fun(){
 9         new Inner().print();
10     }
11 }
12 
13 public class InnerClassDemo01 {
14 
15     public static void main(String[] args) {
16         new Outer().fun();
17     }
18 
19 }

 2、用static声明的内部类变成了外部类,但是用static声明的内部类不能访问非static的外部类属性:

 1 class Outer{
 2     private static String info = "hello";
 3     static class Inner{
 4         public void print(){
 5             System.out.println(info);
 6         }
 7     }
 8 }
 9 
10 public class InnerClassDemo01 {
11 
12     public static void main(String[] args) {
13         new Outer.Inner().print();
14     }
15 }

3、在方法中定义内部类:在方法中定义的内部类不能直接访问方法中的参数,如果方法中的参数想要被内部类访问,则参数前面必须加上final关键字:

 1 class Outer{
 2     private static String info = "hello";
 3     public void fun(final int temp){
 4         class Inner{
 5             public void print(){
 6                 System.out.println(info);
 7                 System.out.println(temp);
 8             }
 9         }
10         new Inner().print();
11     }
12 }
13 
14 public class InnerClassDemo01 {
15 
16     public static void main(String[] args) {
17         new Outer().fun(30);
18     }
19 }
原文地址:https://www.cnblogs.com/XuGuobao/p/7242527.html