内部类:一种隐藏和组织代码的模式
1、普通内部类拥有其外围类的所有元素的访问权,没有任何限制
2、静态内部类只能访问外部类的静态成员变量
class Outer
{
static int x;
static class Inner
{
void test()
{
syso(x);
}
}
}
3、定义在方法和作用域内的内部类,可以访问方法和作用域外的变量,作用域内的变量必须是final类型的,因为生命周期不同。 外部不能访问该内部类
class Outer {
private int a;
public void test(final int b){
class Inner{
public void A(){
int A = a;
}
public void B(){
int B = b;
}
}
}
}
4.匿名内部类即是3的一种,访问限制同3,如下,类似setOnClickListener(new OnClickListener(){ XXX}),
public class A{
public B create(){
return new B(x){
public in value(){
return 1;
}
}
}
public static void main(String[] a){
}
}
1、普通内部类拥有其外围类的所有元素的访问权,没有任何限制
2、静态内部类只能访问外部类的静态成员变量
class Outer
{
static int x;
static class Inner
{
void test()
{
syso(x);
}
}
}
3、定义在方法和作用域内的内部类,可以访问方法和作用域外的变量,作用域内的变量必须是final类型的,因为生命周期不同。 外部不能访问该内部类
class Outer {
private int a;
public void test(final int b){
class Inner{
public void A(){
int A = a;
}
public void B(){
int B = b;
}
}
}
}
4.匿名内部类即是3的一种,访问限制同3,如下,类似setOnClickListener(new OnClickListener(){ XXX}),
public class A{
public B create(){
return new B(x){
public in value(){
return 1;
}
}
}
public static void main(String[] a){
}
}