标签:mode port print oop 初始化 ack model ica pac
内部类是写在类里面的类,在一个类中,还可以定义多个类,内部类可以直接直接获取外部类中的所有属性和方法,就算是私有属性也可以获得。如果说继承像父亲和儿子,那外部类和内部类的关系就像丈夫和妻子,只不过这里是一夫多妻制。内部类像妻子,可以直接使用外部内中所有东西。但内部类不是个称职的妻子,外部内不能使用内部类中的属性和方法。(除了类中的类,还有写在方法中的类,叫做局部内部类。但不推荐使用。)
内部类就是在一个类中再定义一个类,这个类可以直接使用外部类中的所有方法和属性,但如果内部类被static修饰的,会比外部类更早生成,这样就不能使用外部类的东西了。在调用内部类时,需要先初始化外部类,再用外部类来调用内部类。
调用方法,先实例化外部类后:
创建内部类
package oop.Demo08;
?
//外部类
public class Outer {
private int ID = 5;
public void go (){
System.out.println("外部类");
}
?
?
//内部类
public class Inner{
public void in (){
System.out.println("内部类");
}
?
public void gatID(){
System.out.println(ID);//可以直接获取到外部类的私有属性
}
}
}
测试类
package oop;
?
import oop.Demo08.Outer;
?
public class Application {
public static void main(String[] args) {
?
Outer outer = new Outer();//实例化外部类
?
Outer.Inner inner = outer.new Inner();//通过外部类再实例化内部类
?
outer.go();//输出外部类的方法
inner.in();//输出内部类的方法
inner.gatID();//输出内部类获取到外部类的私有属性的方法
}
}
?
标签:mode port print oop 初始化 ack model ica pac
原文地址:https://www.cnblogs.com/jinweichaoyouqu/p/14015033.html