日期:2014-05-20  浏览次数:20699 次

关于内部类的一个小问题
*内部类的类体中不可以声明类变量和类方法,怎么去理解这句话?

------解决方案--------------------
这是谁告诉你这句的?内部类里面不能声明方法和变量.
------解决方案--------------------
类变量 就是 变量 为static 类方法 是 方法为 static
------解决方案--------------------
可以声明。
------解决方案--------------------
Java code


public class TestInnerClass {
     public static void main(String[] args) {
    new InnerClass().method();
     }
    static  class InnerClass{
    static int i = 0;
    public static void method( ){
        System.out.println("静态内部类 的 类变量 i 是 "+ i);
        System.out.println("静态内部类 的 类方法 是 method");
    }
    }    
}

------解决方案--------------------
看这个你就明白了:http://zhidao.baidu.com/question/124117953.html
很多问题可以自己动手尝试。
------解决方案--------------------
就是在内部类中不能定义静态变量或者静态方法!!!内部类可以看成是外嵌类的成员,如果没有把这个内部类定义为静态的,则不能在内部类中定义静态变量和方法。
1、静态内部类
public class TestInnerClass {
public static void main(String[] args) {
new InnerClass().method();
}
static class InnerClass{
static int i = 0;
public static void method( ){
System.out.println("静态内部类 的 类变量 i 是 "+ i);
System.out.println("静态内部类 的 类方法 是 method");
}
}
}
2、非静态内部类
public class TestInnerClass
{
public static void main(String[] args)
{

}
class china{
public static int b//此处报错。不能定义为静态的变量
public int a; //正确


}
}