码迷,mamicode.com
首页 > 其他好文 > 详细

内部类

时间:2018-08-10 21:24:02      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:end   strong   类中访问   作用   返回   通过   raw   system   draw   

1.成员内部类

例一

public class Test002 {
    public static void main(String[] args) {
        //1.第一种创建方法
         Cricle c = new Cricle(5);
//        Cricle.Draw d = c.new Draw();
//        d.drawShape();
        //2.第二种,通过方法返回一个内部类对象
        Cricle.Draw d2 = c.getDetDrawInstance();
        d2.drawShape();
    }
}

class Cricle{//外部类
    private double radius = 0;
    public static int count = 1;
    int a = 0;
    
    public Draw getDetDrawInstance() {
        return new Draw();
    }
    
    
    public Cricle(double radius) {
        this.radius = radius;
        //在外部类中访问内部类的成员需要先创建内部类对象
        //new Draw().drawShape();
        
    }
    
    class Draw{//内部类
        public void drawShape() {
            int a = 2;
            System.out.println(radius);//访问外部类的Private成员
            System.out.println(count);//访问外部类的静态成员
            System.out.println(a);//访问内部类里的局部变量
            System.out.println(Cricle.this.a);//访问成员变量
        }
    }
    
}

例二

public class Test003 {

    public static void main(String[] args) {
        Demo d = new Demo(new Outer2());

    }

}
class Outer2{
    Outer2(){
        System.out.println("outer2");
    }
    class Inner2{
        Inner2(){
            System.out.println("Inner2");
        }
    }
}
//继承 实例内部类
class Demo extends Outer2.Inner2{
    Demo(Outer2 o){
        o.super();
        System.out.println("Demo");
    }
}

 

 

 

2.局部内部类

局部内部类的访问仅限于方法内或者该作用域内

内部类

标签:end   strong   类中访问   作用   返回   通过   raw   system   draw   

原文地址:https://www.cnblogs.com/fax1996/p/9457123.html

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