Java基础知识7-内部类

作者: 我相信你爱过gg | 来源:发表于2016-12-20 23:10 被阅读36次
配图

什么是内部类

将一个类定义在另一个类的里面,对里面那个类就称为内部类(内置类,嵌套类)

访问特点

内部类可以直接访问外部类中的成员,包括私有成员.
而外部类要访问内部类中的成员必须要建立内部类的对象.

定义内部类

public class Outer {
    class Inner{

    }
}

Inner就是Outer的内部类

内部类编译后产生的文件
上图可以看出,编译后使用$符号进行标识.

注意:内部类的作用域被限制在包含它的类之中.

内部类与外部类互相访问

public class Outer {
    int num = 10;
    class Inner{
        public void show(){
            System.out.println("Outer Class Num:" + num);
        }
    }
    
    public void method(){
        //外部类访问内部类必须创建内部类对象
        Inner inner = new Inner();
        inner.show();
    }
}

当我们在主函数中调用的时候只需要创建Outer类的对象,并访问method方法.

Outer outer = new Outer();
outer.method();

除了上面这种方式,我们也可以直接实例化Outer类中的Inner内部类.

Outer.Inner inner = new Outer().new Inner();
inner.show();

静态内部类

public class Outer {
    static int num = 10;
    static class Inner{
        public static void show(){
            System.out.println("Outer Class Num:" + num);
        }
    }

    public void method(){
        Inner inner = new Inner();
        inner.show();
    }
}

注意:内部类为静态的,内部类的所有成员也必须为静态的.

相关文章

  • Java基础知识7-内部类

    什么是内部类 将一个类定义在另一个类的里面,对里面那个类就称为内部类(内置类,嵌套类) 访问特点 内部类可以直接访...

  • Java 中的方法内部类

    Java 中的方法内部类 方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内...

  • PHP转JAVA的记录

    Java 数组 内部类 内部类的创建:内部类可以对包内其他类隐藏想实现一个接口时, 不想新建类文件 内部类可以访问...

  • Java基础知识干货2

    Java基础知识干货1传送门->http://www.jianshu.com/p/78fdfacf1868 内部类...

  • Java内部类

    Java内部类,简单来说就是将一个类定义在另一个类或者方法里面,主要分为成员内部类,局部内部类,匿名内部类和静态内...

  • Java内部类

    Java内部类 大纲: java内部类有什么特点?为什么需要内部类? 非静态内部类持有外部类的引用 内部类的分类。...

  • 内部类

    内部类可以分为:非静态内部类;静态内部类;匿名内部类。 一、内部类 首先要说,Java为什么要使用内部类?java...

  • Java静态内部类

    Java静态内部类 博客分类: java 两种内部类 Java的内部类有两种,一种是静态内部类,另一种是普通内部类...

  • Kotlin内联类、内部类、嵌套类

    Kotlin内联类、内部类、嵌套类 在开始介绍Kotlin内联类、内部类、嵌套类之前,先简要回顾一下java中的内...

  • JavaSE基础知识学习-----内部类

    内部类 类的五个成分:属性,方法,构造器,代码块,内部类。什么是内部类?在java中,允许一个类定义在另一个类的内...

网友评论

本文标题:Java基础知识7-内部类

本文链接:https://www.haomeiwen.com/subject/pfufvttx.html