关于内、外部类可能有很多人会不清楚,这一篇主要是讲解内部类的问题:
内部类
在一个类的内部定义的类,叫内部类,包含内部类的类叫外部类
1、内部类可以声明为public、private、protected、默认
2、内部类可以申明为static
内部类可以直接调用外部类的所有方法以及属性(不管是不是private),外部类也可以直接调用内部类的属性和方法
如:InnerClass是定义在OutterClass内部的类
public class OutterClass {
private int t = 100;
private InnerClass inner;
private void test() {
System.out.println(t);
inner = new InnerClass();
//调用内部类的属性和方法
inner.name = "Hello";
inner.testIn();
}
外部类
/**
* 定义在其他类内部的类,就叫外部类
*
* @author 却是凡
*/
private class InnerClass {
private String name;
private int t = 10;
private void abc() {
System.out.println("inner class"+OutterClass.this.t);
}
private void testIn(){
//调用外部类的方法
test();
}
}
注意:如果内部类中存在属性和外部类属性一样的情况,内部类需要调用外部类的属性需要在属性前加上 外部类.this
OutterClass.this.t
以上就是关于内和外部类的详细解析。