mirror of https://github.com/Black-Gold/Learn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
999 B
54 lines
999 B
public class Jb33_InnerClass
|
|
{
|
|
public static void main(String[] args)
|
|
{
|
|
//Outer out = new Outer();
|
|
//out.method();
|
|
|
|
//直接访问外部类中的内部类中的成员,内部类共有时
|
|
//Outer.Inner in = new Outer().new Inner();
|
|
//in.show();
|
|
|
|
//如果内部类是静态的,相当于一个外部类
|
|
//Ouer.Inner in = new Outer.Inner();
|
|
//in.show();
|
|
|
|
//如果内部类是静态的,成员是静态的
|
|
Ouer.Inner.fun();
|
|
}
|
|
}
|
|
|
|
/*
|
|
内部类访问特点:
|
|
内部类可以直接访问外部类中的成员,包括私有成员
|
|
而外部类要访问内部类中的成员必须要建立内部类的对象
|
|
*/
|
|
class Outer
|
|
{
|
|
private static int num = 1;
|
|
|
|
class Inner //内部类
|
|
{
|
|
void show()
|
|
{
|
|
System.out.println("嘿嘿"+num);
|
|
}
|
|
/*
|
|
static void fun() //如果内部类中定义了静态方法,该内部类必须是静态的
|
|
{
|
|
System.out.println("fun 嘿嘿"+num);
|
|
}
|
|
*/
|
|
}
|
|
public void method() //外部类访问内部类方法
|
|
{
|
|
Inner in = new Inner();
|
|
in.show();
|
|
}
|
|
}
|
|
/*
|
|
内部类一般用于类的设计
|
|
分析事物时,发现该事物描述里还有事物,这个事物仍访问被描述事物的内容
|
|
这时就将还有的事物定义为内部类描述
|
|
|
|
*/ |