java内部类是什么意思?访问特点有哪些?

BSO 2020-10-20 15:56:53 java常见问答 3760

java中的知识点是非常多的,而且分的特别细致和详细。这也是人们为何对于java编程语言特别感兴趣的原因之一。今天就为大家来介绍一下,java内部类是什么意思?以及访问特点有哪些?一起来看看吧。

首先说一下,什么是内部类?

将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。

然后介绍一下,成员内部类。

定义在类中方法外的类。

定义格式,代码展示如下:

class 外部类
{
    class 内部类
    {}
}

在描述事物时,若一个事物内部还包含其他事物,就可以使用内部类这种结构。比如,汽车类Car中包含发动机类Engine ,这时,Engine就可以使用内部类来描述,定义在成员位置。

代码展示如下:

class Car
{ //外部类
    class Engine
    { //内部类
    }
}

最后说一下,访问特点。

成员内部类可以直接访问外部类的成员变量成员方法

外部类不可以直接访问内部类的成员变量和成员方法

外部类想要访问内部的成员: 得创建内部类对象来访问内部类成员,代码展示如下:

外部类名.内部类名 对象名 = new 外部类名()
    .new 内部类名();

访问演示:

定义类,代码展示如下:

public class Person
{
    private boolean live = true;
    class Heart
    {
        public void jump()
        {
            // 直接访问外部类成员
            if (live)
            {
                System.out.println("心脏在跳动");
            }
            else
            {
                System.out.println("心脏不跳了");
            }
        }
    }
    public boolean isLive()
    {
        return live;
    }
    public void setLive(boolean live)
    {
        this.live = live;
    }
}

定义测试类,代码展示如下:

public class InnerDemo
{
    public static void main(String[] args)
    {
        // 创建外部类对象 
        Person p = new Person();
        // 创建内部类对象
        Heart heart = p.new Heart();
        // 调用内部类方法
        heart.jump();
        // 调用外部类方法
        p.setLive(false);
        // 调用内部类方法
        heart.jump();
    }
}
输出结果:
    心脏在跳动
心脏不跳了

以上就是关于java内部类是什么意思以及访问特点有哪些的主要内容了。可以看出内容还是非常详细的。如果你对java知识感兴趣,想要了解更多java常见问题,敬请关注奇Q工具网。

推荐阅读:

java局部内部类详细介绍

java静态内部类详细介绍

java实例内部类详细介绍