注意:static的内部类只能引用外部类的static成员 class Outer{ static int a=1; int b=0; static void method1(){//...}; void method2(){//...}; static class Inner{ int c=a; //完全没问题 // int d=b; 有问题,不能引用b,非static变量 method1(); //完全没问题 // method2(); 有问题,不能引用method2();,非static方法 }}
你的GF(BF)在小河的对岸等你,你现在要用一只船渡过眼前这条河去彼岸和ta约会;
但是你却没有船桨,这个时候你就可以在你所处的岸边随便买一只;
当然,你绝对不会太在意这只船桨的品牌或者它的外观以及它的性能是否突出,你只会关心它是否能够将你带到对岸去,是吧?
这个时候,这只船桨所属的类就可以看作是一个匿名类Quant(前提是要有船桨卖才行,就是有Quant这样的接口或者抽象类):
Quant whiteOne = new Quant(){public void row("Strength"){/*随便你怎么划*/}};
这就和你使用一次性的方便袋一样,如果你下次还想用的话,就得再买(new)一个,或者你当初就买个好点的留着。至于其他的,比如成员类(像类的方法一样定义),嵌套类(static类),局部类(定义在成员方法中),
看起来也都是有点古怪,而且要多花点时间设计才能轻松的使用,希望楼主能够在不断的学习中积累、进步。
class Outer{
static int a=1;
int b=0;
static void method1(){//...};
void method2(){//...}; static class Inner{
int c=a; //完全没问题
// int d=b; 有问题,不能引用b,非static变量
method1(); //完全没问题
// method2(); 有问题,不能引用method2();,非static方法
}}