目录
一、前言
二、内部类
语法格式:
static修饰内部类
内部类未被static修饰时:
内部类被static修饰后
演示操作:
一、前言
前面我们学习了一个小的项目,现在我们来学习新的知识点,关于内部类的描述,其实
顾名思义就是在类的内部有一个类,简称套娃类(个人观点)
二、内部类
一个类定义在另一个在一个类的内部叫内部类。
- 内部类可以直接访问外部类的私有和非私有成员,而外部类不能直接访问内部类
- (包括所有外部类成员)
- 外部类成员要访问内部类是,必须创建内部类对象。
- 外部类通过创建对象也可以方法内部类的私有和非私有成员
语法格式:
public class A{修饰符 class B{}}
static修饰内部类
static不能直接修饰类,但是可以修饰内部类,被static修饰的内部类就变成了普通类
即只能通过创建外部类对象去访问外部类,不能直接访问外部类。
如:
内部类未被static修饰时:
public class Outer{private int num=10;public class Inner{public void show(){System.out.println(num);//直接使用}}
}
内部类被static修饰后
public class Outer{private int num=10;public class Inner{Outer o=new outer();public void show(){System.out.println(o.num);//创建外部类对象调用使用}}
}
演示操作:
public class OuterClass {private int num=20;public static void main(String[] args) {OuterClass oo=new OuterClass();oo.show1();}public class InnerClass{private int num2=10;public void show(){System.out.println("这是一个内部类的show");System.out.println(num);//内部类直接访问外部类私有//访问外部类成员方法}}public void show1(){InnerClass i=new InnerClass();i.show();//通过创建对象访问内部类成员方法System.out.println(i.num2);//外部类创建对象访问内部类私有System.out.println("这是一个外部类show");}
}
结果: