写了一个JAVA小程序,这个程序有点小问题,就是必须在String前面加上static 这个怎么理解呢 ?

publicclassTTT{publicstaticvoidmain(Stringargs[]){Appleaa=newApple();System.out.print... public class TTT
{
public static void main(String args[])
{
Apple aa=new Apple();
System.out.println(Apple.a);
}
}
class Fruit
{
String a = "ttt";
}
class Apple extends Fruit
{

}
展开
 我来答
houyonghai2025
2011-03-30
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
这个要理解一下static的用法。static声明的方法或者变量,不单属于该类的某个实例对象,而是所有实例对象共享的,也可以说是属于这个类的。在这种情况下,不需要某个特定的实例对象,通过类就可以调用。而在没有加static时,你要调用a这个变量,必须要从Apple的实例对象中调用。
飘渺幻客
2011-03-30 · TA获得超过460个赞
知道答主
回答量:166
采纳率:0%
帮助的人:0
展开全部
你直接用 类名.a 这样a就必须是静态的,
静态的变量 通过类名直接调用,不需要实例化
你上面已经实例化了 Apple aa=new Apple();
何必不用aa.a呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yanlun01
2011-03-30 · 超过15用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:43.6万
展开全部
看你写的东西就是一个入门新手
你写的这个程序直接就报错了
a是一个私有属性,你在main方法中根本访问不到的,不知道你是怎么点出来的
楼上已经说了,类前面加static说明这个类是静态类,静态类是可以不用new就可以直接调用类名.方法名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chujingbin
2011-03-30 · TA获得超过110个赞
知道小有建树答主
回答量:266
采纳率:100%
帮助的人:67.3万
展开全部
Apple.a 调用的类的静态属性 所以要加static
aa.a调用的是实例的属性 所以不用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
slczai
2011-03-30 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:0
展开全部
为什么不用aa.a。如果想用类名.变量,那一定是static变量。才可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式