内部类

时间:2020-06-17 21:18:05   收藏:0   阅读:59

内部类

成员内部类

public class Hero {//外部类
    private String name;
    float hp;
    float armor;

    public Hero(String name){
        this.name = name;
    }

    //外部类方法
    public void method(int s){
        System.out.println("外部类方法");
        new BattleScore().score(s);//使用外部类方法调用内部方法
    }

    public class BattleScore {//内部类
        //内部类方法
        public void score(int s){
            System.out.println(name + "的成绩是" + s);
        }
    }
}

/////////////////////////////////////////////////
public class InnerClassMain {
    public static void main(String[] args) {
        //方法一:通过外部方法间接调用内部方法
        Hero garen = new Hero("garen");
        garen.method(100);

        //方法二:直接调用内部类方法
        Hero.BattleScore sore = new Hero("garen").new BattleScore();
        sore.score(100);
    }
}

局部内部类

public class LocalInnerClass {
    //外部类方法
    public void method(){
        //局部内部类,且不能权限修饰符修饰
        class InnerClass{
            int num = 10;
            public void innerMethod(){
                System.out.println(num);
            }
        }
        //外界不能直接访问局部内部类,需要方法内创建对象
        //通过调用方法间接访问
        InnerClass inner = new InnerClass();
        inner.innerMethod();
    }

    public static void main(String[] args) {
        LocalInnerClass obj = new LocalInnerClass();
        obj.method();
    }
}

匿名内部类

原文:https://www.cnblogs.com/geqianLee/p/13154501.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!