内部类
先实例化外部类,再通过外部类实例化对象实例化内部类
package com;
class Outer{ // 定义外部类
private static String outInfo = "hello world" ; // 定义外部类的私有属性
public void outFun(){ // 定义外部类的方法
new Inner().inFun() ; // 通过内部类的实例化对象调用方法
}
class Inner{ // 使用static定义内部类为外部类
public void inFun(){
System.out.println(outInfo) ; // 直接访问外部类的私有属性
}
}
}
public class App2 {
public static void main(String[] args) {
Outer out = new Outer(); // 外部类实例化对象
Outer.Inner in = out.new Inner(); // 实例化内部类对象
in.inFun(); // 调用内部类的方法
}
}
static 修饰的内部类,可以直接new
package com;
class Outer{ // 定义外部类
private static String outInfo = "hello world" ; // 定义外部类的私有属性
public void outFun(){ // 定义外部类的方法
new Inner().inFun() ; // 通过内部类的实例化对象调用方法
}
static class Inner{ // 使用static定义内部类为外部类
public void inFun(){
System.out.println(outInfo) ; // 直接访问外部类的私有属性
}
}
}
public class App2 {
public static void main(String[] args) {
new Outer.Inner().inFun() ; // 调用外部类的fun()方法
}
}