java如何访问类中的全局变量

dz215136304 2012-08-02 03:19:56

public class helloJava {
String say="我要学会";
public static void main(String[] arge){
String say="aaaaaa";
System.out.println("你好,java"+say);
System.out.println("你好,java"+say);
}
}


现在输出的是main方法中的say 我现在想输出"我要学会"这个say,该如何输出呢?
...全文
1016 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
竹林风声 2012-11-02
  • 打赏
  • 举报
回复 1

public class HelloJava {
private static String a = "你们是傻蛋!";
private String b = "我是来围观的。";

public static void main(String[] args) {
String a = "我们不是,你才是!";
String b = "元芳,你怎么看?";
System.out.println(HelloJava.a);
System.out.println(a);
System.out.println(new HelloJava().b);
System.out.println(b);
}
}

结果:
你们是傻蛋!
我们不是,你才是!
我是来围观的。
元芳,你怎么看?
cnaaa8 2012-08-13
  • 打赏
  • 举报
回复
public class HelloJava {

private String say="我要学会";

public String getSay() {
return say;
}

public void setSay(String say) {
this.say = say;
}

public static void main(String[] arge){
String say="aaaaaa";
HelloJava hello=new HelloJava();
// System.out.println("你好,java"+say);
System.out.println("你好,java"+hello.getSay());
}


}
cnaaa8 2012-08-13
  • 打赏
  • 举报
回复
public class HelloJava {

private String say="我要学会";

public String getSay() {
return say;
}

public void setSay(String say) {
this.say = say;
}

public static void main(String[] arge){
String say="aaaaaa";
HelloJava hello=new HelloJava();
// System.out.println("你好,java"+say);
System.out.println("你好,java"+hello.getSay());
}


}
深蓝mg 2012-08-03
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]

[size=24px]楼主啊 ,听本座一句,想出现那种效果,只有这样,static String say="我要学会";
打印时这样打印String say="aaaaaa";
System.out.println("你好,java"+A.say);
System.out.println("你好……"+say);
因为main函数是静态的,你用个非静态的变量怎么能直接访问呢,[/size……
[/Quote]
是的,如果想实现楼主想要的效果,只能把helloJava new 出来了
猎人-d 2012-08-02
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]
Java code

public class helloJava {
String say="我要学会";
public static void main(String[] arge){
String say="aaaaaa";
helloJava hj = new helloJava ();
System.out.println("你好,java"+hj.……
[/Quote]

类名.变量,调用全局变量的方法
跑步的丸子 2012-08-02
  • 打赏
  • 举报
回复

public class helloJava {
String say="我要学会";
public static void main(String[] arge){
String say="aaaaaa";
helloJava hj = new helloJava ();
System.out.println("你好,java"+hj.say);
System.out.println("你好,java"+hj.say);
}
}

wwwcomcn123 2012-08-02
  • 打赏
  • 举报
回复
static String say
类名.say
di_wq 2012-08-02
  • 打赏
  • 举报
回复
楼主啊 ,听本座一句,想出现那种效果,只有这样,static String say="我要学会";
打印时这样打印String say="aaaaaa";
System.out.println("你好,java"+A.say);
System.out.println("你好……"+say);
因为main函数是静态的,你用个非静态的变量怎么能直接访问呢,
kiss_xixi413 2012-08-02
  • 打赏
  • 举报
回复
在java中尽量不使用静态变量static
public class HelloJava {

private String say="我要学会";

public String getSay() {
return say;
}

public void setSay(String say) {
this.say = say;
}

public static void main(String[] arge){
String say="aaaaaa";
HelloJava hello=new HelloJava();
System.out.println("你好,java"+say);
System.out.println("你好,java"+hello.getSay());
}


}
kiss_xixi413 2012-08-02
  • 打赏
  • 举报
回复
在java里面尽量不要使用静态变量
public class HelloJava {

private String say="我要学会";

public String getSay() {
return say;
}

public void setSay(String say) {
this.say = say;
}

public static void main(String[] arge){
String say="aaaaaa";
HelloJava hello=new HelloJava();
System.out.println("你好,java"+say);
System.out.println("你好,java"+hello.getSay());
}


}
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

初学者注意java类名的规范 是首字母大写,而且访问类的 非静态变量通过类的实例获得,下面是一个例子
Java code

public class HelloJava {

String say="我要学会";

public static void main(String[] arge){
String say="aaaaaa";
……
[/Quote]
对于初学者,格式和命名规范真的很重要,前两天就被公司的培训老师给批了,血淋淋的教训啊,所以,4楼的方法是最好的,虽然表面上市代码多了,实际上,当你的代码量比较多时(比如几百行代码或以上,这个够小了,没在一个类写过更多的),4楼的写法会一目了然,不求分,我的分够我提问的就好了,哈哈,比你学的稍微早一点,也是一个小白
rrax 2012-08-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
不好意思 是这样

Java code

public class helloJava {
static String say="我要学会";
public static void main(String[] arge){
String say="aaaaaa";
System.out.println("你好,java"+helloJava.say);
S……
[/Quote]

static修饰的变量时类变量,通过类名.变量名调用。
helloJava.say调用的是你定义的static变量:static String say="我要学会";

System.out.println("你好,java"+say);
这一句引用的变量是在main函数中定义的局部变量:String say="aaaaaa";
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

不好意思 是这样Java code

public class helloJava {
static String say="我要学会";
public static void main(String[] arge){
String say="aaaaaa";
System.out.println("你好,java"+helloJava.say);
System.out……
[/Quote]
额 刚刚没看下一楼……
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

Java code

public class helloJava {
static String say="我要学会";
public static void main(String[] arge){
String say="aaaaaa";
System.out.println("你好,java"+hello.say);
System.out.println("你好……
[/Quote]
这个……hello在哪里出现过……
黑色价值 2012-08-02
  • 打赏
  • 举报
回复
不好意思 是这样

public class helloJava {
static String say="我要学会";
public static void main(String[] arge){
String say="aaaaaa";
System.out.println("你好,java"+helloJava.say);
System.out.println("你好,java"+say);
}
}
黑色价值 2012-08-02
  • 打赏
  • 举报
回复

public class helloJava {
static String say="我要学会";
public static void main(String[] arge){
String say="aaaaaa";
System.out.println("你好,java"+hello.say);
System.out.println("你好,java"+say);
}
}

貌似这样也可以 可我不知道怎么给你解释~~~ 请高手解释一下
Firebirds 2012-08-02
  • 打赏
  • 举报
回复
楼上正解,LZ按照4楼的先理解下吧,规范很重要,要重视
风尘中国 2012-08-02
  • 打赏
  • 举报
回复
初学者注意java类名的规范 是首字母大写,而且访问类的 非静态变量通过类的实例获得,下面是一个例子

public class HelloJava {

String say="我要学会";

public static void main(String[] arge){
String say="aaaaaa";
HelloJava hello=new HelloJava();
// System.out.println("你好,java"+say);
System.out.println("你好,java"+hello.say);
}


}


建议采用下面的方法

public class HelloJava {

private String say="我要学会";

public String getSay() {
return say;
}

public void setSay(String say) {
this.say = say;
}

public static void main(String[] arge){
String say="aaaaaa";
HelloJava hello=new HelloJava();
// System.out.println("你好,java"+say);
System.out.println("你好,java"+hello.getSay());
}


}
daxiang253 2012-08-02
  • 打赏
  • 举报
回复
public class helloJava {
static String say="我要学会";
public static void main(String[] arge){
String say="aaaaaa";
System.out.println("你好,java"+say);
helloJava dd=new helloJava();
System.out.println("你好,java"+dd.say);
}
}
dz215136304 2012-08-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
public class helloJava {
static String say="我要学会";
public static void main(String[] arge){
String say="aaaaaa";
System.out.println("你好,java"+say);
System.out.println("你好,java"+say);
}
}
……
[/Quote]

你写的和我的有区别吗?我要的效果是第一个输出java我要学会,第二个输出javaaaaaa
加载更多回复(1)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧