/*
内部类:在类的里面定义类
静态内部类
成员内部类
局部内部类
匿名内部类,属于局部内部类的一种
内部类的重要作用,可以访问外部类中私有的数据
*/
/*
关于静态内部类:
1.静态内部类可以等同看做静态变量
2.静态内部类可以直接访问外部类的静态数据,无法直接访问成员
*/
public class fuck11{
//静态变量
private static String s1="a";
//成员变量
private String s2="b";
//静态方法
public static void m1(){
System.out.println("m1's method excute");
}
//成员方法
public void m2(){
System.out.println("m2'method excyte");
}
//静态内部类,可以用访问控制权限的修饰符修饰
//public,private,protected,缺省
static class innerclass{
//静态方法
public static void m3(){
System.out.println(s1);
//System.out.println(s2); error
m1();
//m2(); error
}
//成员方法
public void m4(){
System.out.println(s1);
//System.out.println(s2); error
m1();
//m2(); error
//无法从静态上下文访问非静态变量
}
}
public static void main(String[] args){
//外部类访问内部类的静态方法
fuck11.innerclass.m3();
//外部类访问内部类的成员方法
innerclass i=new fuck11.innerclass();//内部类的类名是这样的
i.m4();
}
}
内部类:在类的里面定义类
静态内部类
成员内部类
局部内部类
匿名内部类,属于局部内部类的一种
内部类的重要作用,可以访问外部类中私有的数据
*/
/*
关于静态内部类:
1.静态内部类可以等同看做静态变量
2.静态内部类可以直接访问外部类的静态数据,无法直接访问成员
*/
public class fuck11{
//静态变量
private static String s1="a";
//成员变量
private String s2="b";
//静态方法
public static void m1(){
System.out.println("m1's method excute");
}
//成员方法
public void m2(){
System.out.println("m2'method excyte");
}
//静态内部类,可以用访问控制权限的修饰符修饰
//public,private,protected,缺省
static class innerclass{
//静态方法
public static void m3(){
System.out.println(s1);
//System.out.println(s2); error
m1();
//m2(); error
}
//成员方法
public void m4(){
System.out.println(s1);
//System.out.println(s2); error
m1();
//m2(); error
//无法从静态上下文访问非静态变量
}
}
public static void main(String[] args){
//外部类访问内部类的静态方法
fuck11.innerclass.m3();
//外部类访问内部类的成员方法
innerclass i=new fuck11.innerclass();//内部类的类名是这样的
i.m4();
}
}