java中类前面加static是什么意思?麻烦帮忙解释下下面程序运行的过程,谢谢!

publicclassSuperClass{Stringa="hello";classSubClassAextendsSuperClass{}staticclassSub... public class SuperClass{
String a = "hello";
class SubClassA extends SuperClass{}
static class SubClassB extends SuperClass{
String a = "aaa";
}
public static void main(String args[]){
SubClassB bar=new SubClassB();
System.out.println(bar.a);
}
}
展开
 我来答
若amp惜
2012-01-10 · TA获得超过229个赞
知道小有建树答主
回答量:286
采纳率:100%
帮助的人:140万
展开全部
static 是静态的。因为main是静态的,所以它里面的函数也是静态的。又因为近者亲,输入的应该是SubClassB里面的变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
花為蝴蝶飛
2012-01-10 · TA获得超过109个赞
知道答主
回答量:109
采纳率:0%
帮助的人:70.6万
展开全部
程序首先执行main函数
然后创建SubClassB 实例,因为SubClassB是SuperClass的子类,会先调用SuperClass的默认构造函数,然后调SubClassB的默认构造函数,程序最终输出 aaa
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ryuginka
2012-01-10 · TA获得超过956个赞
知道小有建树答主
回答量:2839
采纳率:0%
帮助的人:731万
展开全部
静态类啊。可以直接使用,不用实例化
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e153905
2012-01-10 · TA获得超过217个赞
知道答主
回答量:148
采纳率:0%
帮助的人:28.4万
展开全部
SubClassA 和SubClassB是主类SuperClass的成员内部类,同时这两个类继承了主类SuperClass。
这里要注意,由于SubClassA 和SubClassAB类似于主类的成员变量,所以当主类SuperClass没有实例化对象前(即new SuperClass()),主类对象是不存在的,当然A和B这两个成员内部类也不存在啦。
static的作用是静态化,能够在它的类的任何对象创建之前被访问,而不必引用任何对象
加上static之后,则可把SubClassB看成已经存在了的类。
执行主函数时,new SubClassB()实例化一个对象之后,如楼上所言,先调用父类的构造方法,a=“hello”,再执行SubClassB的默认构造方法,a=“aaa”,最后输出aaa。
这个是我的理解,希望对你有帮助
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式