JavaSE-12.2.1【内部类的基本使用、成员内部类】
package day3.yub4by02.p1; /* 2 内部类 2.1 内部类的基本使用 内部类概念 在一个类中定义一个类。举例:在一个类A的内部定义一个类B,类B就被称为内部类 内部类定义格式 class 外部类名{ 修饰符 class 内部类名{ } } 内部类的访问特点 内部类可以直接访问外部类的成员,包括私有 外部类要访问内部类的成员,必须创建对象 */ public class Outer { //外部类 private int num = 10; /*public class Inner{ //内部类 public void show(){ System.out.println(num); } }*/ private class Inner{ //私有内部类 public void show(){ System.out.println(num); } } public void method(){ //一般外部通过此方式访问内部类而不是直接访问外部类 // show(); //error Inner i = new Inner(); i.show(); // ok } }
package day3.yub4by02.p1; /* 2.2 成员内部类 成员内部类的定义位置 在类中方法,跟成员变量是一个位置 外界创建成员内部类格式 格式:外部类名.内部类名 对象名 = 外部类对象.内部类对象; 举例:Outer.Inner oi = new Outer().new Inner(); 成员内部类的推荐使用方案 将一个类,设计为内部类的目的,大多数都是不想让外界去访问,所以内部类的定义应该私有化, 私有化之后,再提供一个可以让外界调用的方法,方法内部创建内部类对象并调用。 */ public class InnerDemo { public static void main(String[] args) { // Inner i = new Inner(); //error // Outer.Inner oi = new Outer().new Inner(); //public class Inner-->ok; private class Inner-->error // oi.show(); Outer o =new Outer(); o.method(); } }