只能在静态类型或顶级类型中才能声明静态方
来源:互联网 发布:哪类是淘宝禁止发布的 编辑:程序博客网 时间:2024/06/03 02:02
你把
class Base{
String var="Basevar";
static StrinstaticVar="StaticBaseVar"; //字段 staticVar 不能声明为“静态”;只能在静态或顶级类型中才能声明静态字段
void baseMethod(){
System.out.println("Base method");
}
static void staticMethod(){ //方法 staticMethod 不能声明为“静态”;只能在静态类型或顶级类型中才能声明静态方法
System.out.println("static base method");
}
}
拿到public class Example外面去。
现在是在内部类中了。
---------------------------------------------------------------
答:这是JAVA语言的规定.通常认为:非static型的内部类如:class Base{...},是在当外部类class Example的对象已存在时才能使用.而一个static型的成员(数据成员与方法成员)是与 对象是否已存在 是无关的.是可以直接使用的.因而 规定不能定义static.
一句话:这只是一项规定.上边只是这种规定的可能的一种解释.
-----------------------------------------------------------------
非static的内部类不允许有static成员
- 只能在静态类型或顶级类型中才能声明静态方
- C#避免在泛型类型中声明静态成员
- 建议33:避免在泛型类型中声明静态成员
- java为什么不能在静态域或方法中引用类型变量?
- C++中静态类型和动态类型
- 静态类型 动态类型
- 动态类型 静态类型
- day61(5.11)程序报错类型之不能在静态方法中引用非静态变量
- 实现只能动态分配或只能静态分配。
- ThreadLocal类型变量为何声明为静态?- ThreadLocal实现原理
- Erlang类型及函数声明规格/ erlang静态检查 dialyzer
- 静态类型和动态类型
- 静态类型与动态类型
- 动态类型和静态类型
- 静态类型与动态类型
- 强类型与静态类型
- 静态类型与动态类型
- Java接口类只能声明静态属性
- 购买InstallShield免费赠送Windows 7一套,2010年1月30日截止,赶快行动!
- 图解twitter的最新发展
- C# 自定义纸张大小
- 今天 终于开通个人站点了....高兴....
- 在 .Net 应用程序中启用调试信息
- 只能在静态类型或顶级类型中才能声明静态方
- linux下有病毒?
- C中调用C++函数
- vc2003中几个基本控件的使用
- 解决Linux网银更好网上购物
- 对话框的学习showConfirmDialog
- 异步WinHTTP
- 解决一些系统常见的访问拒绝问题
- 设置元素滚动条显示在左边