(1)静态内部类里有非静态方法
格式:
外部类名.内部类名 对象名 = 外部类名.内部类对象;
代码演示如下:
//静态内部类的访问方式
public class Demo3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Outer2.Inner2 oi = new Outer2.Inner2();
/*Outer2.Inner2 oi = Outer2.new Inner2();
* 静态可以“类名.”调用,所以是Outer2.new Inner2(),
* 又因为new习惯于放前面,所以就形成了上述的格式
*/
oi.print();
}
}
//静态内部类里有非静态方法
class Outer2 {
static class Inner2 {
public void print() {
System.out.println("111");
}
}
}
(2)静态内部类里有静态方法
格式:
外部类名.内部类名 对象名 = 外部类名.内部类名;
//静态内部类的访问方式
public class Demo3 {
public static void main(String[] args) {
Outer3.Inner3.print();//静态直接类名.调用
}
}
//静态内部类里面有静态方法
class Outer3 {
static class Inner3 {
public static void print() {
System.out.println("222");
}
}
}