定义基本类型 在main方法中和在main方法外的区别

linhui9010 2009-07-31 11:27:47
public class Test{
int i;
}
和在
public static void main(String [] args){
int i;
}
的区别




public class Foo {
int i;
static String s;
void imethod(){

}
static void smethod(){

}

public static void main(String[] args) {
// TODO Auto-generated method stub
Foo f=new Foo();
System.out.println(f.i);
System.out.println(f.s);
f.imethod();
f.smethod();
System.out.println(Foo.i);//为什么这里错了
System.out.println(Foo.s);//为什么这里却是对的
Foo.imethod();//为什么这里错了
Foo.smethod();//为什么这里却是对的



}

}

谢谢各位大虾了!!!
...全文
142 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wuaner 2009-07-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hello123qwe 的回复:]
方法如main方法里面的变量是局部变量,方法外面的是全局变量。
静态方法如main方法里不能引用非静态的成员。
[/Quote]

java没有全局变量,变量分局部变量和成员变量。
hello123qwe 2009-07-31
  • 打赏
  • 举报
回复
方法如main方法里面的变量是局部变量,方法外面的是全局变量。
静态方法如main方法里不能引用非静态的成员。
wzj167 2009-07-31
  • 打赏
  • 举报
回复
System.out.println(Foo.i);//为什么这里错了
System.out.println(Foo.s);//为什么这里却是对的
因为s是static的,而i不是
学习Java中 2009-07-31
  • 打赏
  • 举报
回复
public static void main 程序的入口

System.out.println(Foo.i);//为什么这里错了
Foo换成对象 f.i
楼主可以看下关于静态变量的内容
knightzhuwei 2009-07-31
  • 打赏
  • 举报
回复
mian是static的 如果要引用成员变量的话只能引用static的成员变量

62,621

社区成员

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

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