首页 > 其他 > 详细

内部类(实例内部类)

时间:2015-10-22 20:54:55      阅读:238      评论:0      收藏:0      [点我收藏+]
public class Outer {
    private int i;
    public static int k = 10;
    /*
     * 外部类不能直接访问内部类,可通过一个引用访问(可以访问到内部类中的私有成员)
     */
    public void visitInner(inner inn){
        inn.i = 1;
        inn.j = 2;
    }
    
    
    public class inner{
        private int i;
        private int j;
        
        public void test(){
            System.out.println("kaishi");
        }
        
        /*
         * 如果内部类中的成员名与外部类的成员名相同,内部类中如果直接返回的为内部类中的成员
         */
        public int getI(){
            return i;
        }
        
        public int getJ(){
            return j;
        }
        
        /*
         * 实例内部类中的方法可以返回外部类中的所有成员
         */
        public int getK(){
            return k;
        }
        //返回外部类的成员变量i
        public int getOuterI(){
            return Outer.this.i;
        }
    }
    
    public int getI(){
        return i;
    }
    
}

 

 

public class Testinner {

    /**
     * @param args
     */
    public static void main(String[] args) {
        //定义方法一
        //Outer outer = new Outer();
        //Outer.inner inn = outer.new inner();
        //定义方法二
        Outer outer = new Outer();
        inner inn = outer.new inner();
        
        //调用外部类的方法给内部类赋值
        outer.visitInner(inn);
        //输出内部类中的成员变量I
        System.out.println(inn.getI());
        //输出内部类中的成员变量J
        System.out.println(inn.getJ());
        //输出外部类静态属性K
        System.out.println(inn.getK());
        //输出外部类中的I
        System.out.println(inn.getOuterI());
    }

}

 

内部类(实例内部类)

原文:http://www.cnblogs.com/hnzyyTl/p/4902604.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!