问答详情
源自:7-5 什么是 Java 中的内部类

如何理解Java中内部类和外部类

求大神帮助小妹解答一下:Java中内部类和外部类的区别,还有有什么联系和作用?谢谢

提问者:小瘦学Java 2017-03-25 11:28

个回答

  • qq_清枫_0
    2017-03-25 12:28:15
    已采纳

    代码没改全,看这个

    public class Outer {  //<--外部类Outer,就像大学的一个班级
        public class Inner {    //<--内部类Inner班级里面的一个寝室
            // 内部类的方法
            public void 上课() { 上课。。。}
            public void 吃饭() { 吃饭。。。}
            等等。。。
        }
         
        public static void main(String[] args) {   //<--实例化一个对象(张三)
            // 创建外部类对象
            HelloWorld 计科3班 = new HelloWorld();
            // 创建内部类对象
            Inner 张三 = 计科3班.new Inner();
            // 调用内部类对象的方法
                张三.show();
        }
     
    }


  • qq_清枫_0
    2017-03-25 12:25:13

    关于区别和联系、作用,我是这么理解的,(大白话)外部类就是一个页面上最外层的,范围最大的那个类(就像下面代码中的”班级“),

    而内部类就相当于大的类里面包裹的小类(就如同一个班级里面有几十个学生),


    public class 班级 {  //<--外部类HelloWorld,就像大学的一个班级
        public class 班级成员 {    //<--内部类Inner班级里面的一个寝室
    		// 内部类的方法
    		public void 上课() { 上课。。。}
    		public void 吃饭() { 吃饭。。。}
    		等等。。。
    	}
        
    	public static void main(String[] args) {   //<--实例化一个对象(张三)
            // 创建外部类对象
    		HelloWorld 计科3班 = new HelloWorld();
            // 创建内部类对象
    		Inner 张三 = 计科3班.new Inner();
            // 调用内部类对象的方法
            	张三.show();
    	}
    
    }