码迷,mamicode.com
首页 > 编程语言 > 详细

java内部类

时间:2016-04-06 12:54:06      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:

成员内部类

public class User {
   private int age=12;
    // 成员内部类
   class In {
       public void print() {
           System.out.println(age);
       }
   }
}

public class Test {

 public static void main(String[] args) {
    User u=new User();
   
  User.In i=u.new In();
  i.print();
 }

}

变量访问

public class User {
   private int age=12;
    // 成员内部类
   class In {
    private int age = 13;
       public void print() {
        int age = 14;
           System.out.println("局部变量:" + age);
           System.out.println("内部类变量:" + this.age);
           System.out.println("外部类变量:" + User.this.age);
       }
   }
}

静态内部类

class Out {

    private static int age = 12;
     
    static class In {
        public void print() {
            System.out.println(age);
        }
    }
}
 
public class Demo {
    public static void main(String[] args) {
        Out.In in = new Out.In();
        in.print();
    }
}

方法内部类

class Out {

    private int age = 12;
 
    public void Print(final int x) {
        class In {
            public void inPrint() {
                System.out.println(x);
                System.out.println(age);
            }
        }
        new In().inPrint();
    }
}
 
public class Demo {
    public static void main(String[] args) {
        Out out = new Out();
        out.Print(3);
    }
}

在上面的代码中,我们将内部类移到了外部类的方法中,然后在外部类的方法中再生成一个内部类对象去调用内部类方法

如果此时我们需要往外部类的方法中传入参数,那么外部类的方法形参必须使用final定义

至于final在这里并没有特殊含义,只是一种表示形式而已

java内部类

标签:

原文地址:http://www.cnblogs.com/zxf330301/p/5358425.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!