成员内部类
主程序App.java
public class App {
public static void main(String[] args) {
Outer outer = new Outer();
//通过外部类来实例化内部类
Outer.Inner inner = outer.new Inner();
//内部类方法
inner.in();
//获得内部类的私有属性
inner.getID();
//获得外部类的私有方法
inner.getOut();
}
}
成员内部类Outer.java
public class Outer {
private int id = 901;
private void out(){
System.out.println("外部类方法");
}
class Inner{
//内部类方法
public void in(){
System.out.println("内部类方法");
}
//获得外部类的私有属性
public void getID(){
//输出外部类私有属性
System.out.println(id);
}
//获得外部类私有方法
public void getOut(){
//输出外部类私有方法
out();
}
}
}
执行结果
内部类方法
901
外部类方法
静态内部类
static关键字
Outer类
public class Outer {
private int id=8888;
private void out(){
System.out.println("外部类方法");
}
public static class Inner{
//静态内部类方法
public void in(){
System.out.println("静态内部类方法");
}
}
}
一个java类中可以有多个class
文件,但是只能有一个public class
Outer类
public class Outer {
private int id=8888;
private void out(){
System.out.println("外部类方法");
}
public static class Inner{
//内部类方法
public void in(){
System.out.println("内部类方法");
}
}
}
class Out{
public static void main(String[] args) {
Outer.Inner inner = new Outer.Inner();
inner.in();
}
}
执行结果
内部类方法