内部类:将类定义在类的内部,那么该类就称为内部类

举例:

 

 

 

Java中不能被实例化的类型有哪些?

1.抽象类

2.接口

3.所有的构造方法都被private修饰的类型

4.内部类不能被外界直接实例化

 

为什么使用内部类:提高类的安全性

内部类的特点:

内部类可以直接访问外部类的所有的成员变虽和成员方法

外部类如果要访问内部类成员,必须创建内部类对象来实现

内部类编译后的class文件命名有别于普通类:外部类$内部类.class Qutter$lnner.class

要访问内部类的成员是非常麻烦的,且造成程序耦合性增强,可读性降低,内部类慎用

 

成员内部类:

 

 

如何在外部获取内部类对象

内部类非私有

因为内部类非私有,所以我们可以通过如下的格式直接获取内部类的对象

格式:外部类.内部类变量名称=外部类对象.内部类对象;

public static void main(String[] args) {

        Outter.Inner inner = new Outter().new Inner();
        inner.show();
    }

}
class Outter{

    private String name = "张三";

    class Inner{

        public void show(){
            System.out.println(name); 
        }

    }
    void info(){

    }

}

私有化

 

内部私有

 

 

 

 

 

当变量名相同的情况

 

 

posted on 2022-06-19 16:11  淤泥不染  阅读(39)  评论(0编辑  收藏  举报