定义:在一个类中定义一个类,就叫内部类。
成员内部类:定义在类中方法外的叫成员内部类
局部内部类:定义在方法中的叫局部内部类
•成员内部类:
a、创建不带修饰符的普通成员内部类对象的格式:外部类名.内部类名 对象名 = new 外部类对象().new 内部类对象();
b、私有成员内部类对象只能在所属外部类创建,如果使用私有内部类的方法,先创建外部类对象,在通过外部类的方法访问私有内部类方法;
c、创建静态成员内部类对象的格式:外部类名.内部类名 对象名 = new 外部类对象.内部类对象();
public class InnerTest { public static void main(String[] args) { // 创建不带修饰符的普通成员内部类对象的格式:外部类名.内部类名 对象名 = new 外部类对象().new 内部类对象(); Outer.Inner inner = new Outer().new Inner(); System.out.println(inner.num); inner.show(); // 私有成员内部类对象只能在所属外部类创建,如果使用私有内部类的方法,先创建外部类对象,在通过外部类的方法访问私有内部类方法; Outer o = new Outer(); o.menthod(); // 创建静态成员内部类对象的格式:外部类名.内部类名 对象名 = new 外部类对象.内部类对象(); Outer.Inner2 inner2 = new Outer.Inner2(); inner2.show(); // 静态成员内部类中的静态方法调用格式 Outer.Inner2.show1(); } } class Outer { int a = 5; private int b = 6; public void outherShow() { Inner i = new Inner(); System.out.println(i.num); } // 成员内部类 class Inner { int num = 10; public void show() { // 内部类访问外部类成员可以之间访问,包括私有 System.out.println(a); System.out.println(b); System.out.println("成员内部类。。。"); } } // 私有成员内部类 private class Inner1 { public void show() { // 内部类访问外部类成员可以之间访问,包括私有 System.out.println("私有成员内部类。。。"); } } public void menthod() { Inner1 i = new Inner1(); i.show(); } // 静态成员内部类 static class Inner2 { public void show() { // 内部类访问外部类成员可以之间访问,包括私有 System.out.println("静态成员内部类。。。"); } public static void show1() { // 内部类访问外部类成员可以之间访问,包括私有 System.out.println("静态成员内部类静态成员方法。。。"); } } }
标签:部类,内部,对象,成员,私有,Inner,new From: https://www.cnblogs.com/weiduaini/p/17183248.html