往OuterClass类的代码段中插入内部类声明, 哪一个是错误的:
public class OuterClass{ private float f=1.0f; //插入代码到这里}
- class InnerClass{ public static float func(){return f;} // 非静态内部类,不能有静态方法 }
- abstract class InnerClass{ public abstract float func(){} //抽象方法不能有方法体 }
- static class InnerClass{ protected static float func(){return f;} // 静态方法无法访问 非静态属性 }
- public class InnerClass{ static float func(){return f;} // 错误在于,非静态内部类,不可以有静态方法 }
(A、B、C、D)
主要考核了这几个知识点:
1.静态内部类才可以声明静态方法、才能使用静态代码块、静态属性
2.静态方法不可以使用非静态变量
3.抽象方法不可以有函数体
4、只能有一个 public(貌似内部类设置为public 正常运行)