首页 > 编程语言 > 详细

关于java中的一些内部类

时间:2020-03-09 10:28:56      阅读:66      评论:0      收藏:0      [点我收藏+]

java中的一些内部类

一、成员内部类

public class A {
    private int id = 1;

    public class B {
        public void print_in(){
            System.out.println("这是内部类的方法");
        }
        public void getId(){
            // 内部类可以访问外部类的属性和方法
            System.out.println("id:" + id);
        }
    }

    public static void main(String[] args) {
        // 实例化外部类
        A aa = new A();
        // 实例化内部类
        A.B bb = aa.new B();
    }
}

二、静态内部类

public class A {
    private int id = 1;
    
    // 静态内部类,在编译的同时首先实例化
    public static class B {
        public void print_in(){
            System.out.println("这是内部类的方法");
        }
        public void getId(){
            // 静态内部类不可以访问外部类的非静态属性和非静态方法
            System.out.println("id:" + id);     // error
        }
    }
}

一个java类中允许有多个内部类,但是public只能有一个

三、局部内部类

public class A {
    private int id = 1;
    
    public void method(){
        // 局部内部类
        class In {
            public void print_in(){
                System.out.println("这是内部类的方法");
            }
        }
    }
}

四、匿名内部类

/*
    匿名内部类既没有名字的内部类
*/
public class A {
    public static void main(String[] args){
        // 实例化一个没有名字的内部类
        person Json = new person() {
            // 重写接口中的方法
            public void run() {
                System.out.println("Runing");
            }
        }
    }
}

interface person {
    void run();
}

关于java中的一些内部类

原文:https://www.cnblogs.com/lorz5-blog/p/12446114.html

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