内部类就是嵌入类,在类中又有一个类,那个类就是内部类
例子:
例子:
class o
{
public int i=0;
class i
{
int i=50;
o.this.i=100;
}
}
class c
{
o.i neibu = o.new i();
}
{
public int i=0;
class i
{
int i=50;
o.this.i=100;
}
}
class c
{
o.i neibu = o.new i();
}
内部类可以直接访问外部类的所有成员,必须加上(类名或方法名.this.成员变量)
内部类不能直接用new来产生,
格式如下,例如:而o类是外部类,i类是内部类,在c类中,要new一个i类出来,那么就要用:
o.i neibu = o.new i();
为什么要这样才能产生一个对象呢?原因就在,如果你单单产生的只有i的话,那么i里面访问o里的i成员变量时,找不到这个成员变量,怎么办??只要加上o.i,那么就可以理解成连i成员变量都给拷贝出来了!
内部类不能直接用new来产生,
格式如下,例如:而o类是外部类,i类是内部类,在c类中,要new一个i类出来,那么就要用:
o.i neibu = o.new i();
为什么要这样才能产生一个对象呢?原因就在,如果你单单产生的只有i的话,那么i里面访问o里的i成员变量时,找不到这个成员变量,怎么办??只要加上o.i,那么就可以理解成连i成员变量都给拷贝出来了!
内部类可以定义在方法中,但是只属于那个方法,在方法外是无法使用这个类的,只能叫做方法中的类吧
当在两个方法中,要访问类本身方法的上一级方法的局部变量时,局部变量必须是flina的!否则无法执行,一般很少用到,所以少用