JAVA#内部类'学习札记

1.在JAVA中,我们可以在类的内部再定义类;外部的类叫外部类,外部类内部的类即为内部类

1️⃣内部类的名字不能和外部类的名字相同;

2️⃣内部类可以使用外部类的private类型的数据;外部类可以通过内部类.属性内部类对象名.属性的方式访问内部类的对象;

2.成员内部类:声明在类内部且在方法外的内部类;

1️⃣

class Kobe{
    String kobe;
    public class Bryant{
        String kobe;
        int jerseynum;
        public Bryant(){

        }
        public void setKobe(String kobe) {
            this.kobe = kobe;
        }

        public String getKobe() {
            return kobe;
        }

        public void setJerseynum(int jerseynum) {
            this.jerseynum = jerseynum;
        }

        public int getJerseynum() {
            return jerseynum;
        }
        public void slam(){
            dunk();
        }
    }
    static class Peramount{
        public void Genji(){
            System.out.println("静态内部类");
        }
    }
    public void dunk(){
        System.out.println("Ray Allen Iverson");
    }
}
public class Monica{
    public static void main(String[] args) {
        Kobe.Peramount kp=new Kobe.Peramount();
        kp.Genji();
        Kobe kb24=new Kobe();
        Kobe.Bryant kb=kb24.new Bryant();
        kb.slam();
    }
}

静态内部类
Ray Allen Iverson

2️⃣

class Kobe{
    int num=3;
    class Bryant{
        int num=23;
        public void Genji(){
            int num=24;
            System.out.println(num);
            System.out.println(this.num);
            System.out.println(Kobe.this.num);
        }
    }
}
public class Monica{
    public static void main(String[] args) {
        Kobe kb24=new Kobe();
        Kobe.Bryant kb=kb24.new Bryant();
        kb.Genji();
    }
}
24
23
3

3.局部内部类:定义在外部类方法体内的类即为局部内部类;

public class Monica {
    public String kobe(){
        class Kobe{
            int score=233333;
            String sc="禾斗匕匕";

            public int getScore() {
                return score;
            }

            public String getSc() {
                return sc;
            }
        }
        Kobe KB24=new Kobe();
        return KB24.getSc()+KB24.getScore();
    }

    public static void main(String[] args) {
        Monica mj=new Monica();
        System.out.println(mj.kobe());
    }
}

禾斗匕匕233333

猜你喜欢

转载自blog.csdn.net/Iverson941112/article/details/82112801