public class Name{
int b = 100;
public void get(){
System.out.println(b);
}
public int num(){
return b;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(b);
}
}
get方法可以访问b,num方法也可以访问b。为什么 public static void main 方法不能访问 b.
因为
b
是一个实例字段,其范围位于 Name
类的实例内。
您的
main
方法是 static
,范围在类本身内。
将
b
声明为 static
以便能够从 main
方法访问它。
您还需要制作方法
get()
和 num()
static
进行编译。
它是一个实例(非静态)字段,因此您需要一个实例来引用它:
public static void main(String[] args) {
System.out.println(new Name().b);
}
静态方法只能访问静态属性。您可以将
b
设为静态,也可以实例化名称:
public class Name{
int b = 100;
public void get(){
System.out.println(b);
}
public int num(){
return b;
}
public static void main(String[] args) {
new Name(args);
}
public Name(String[] args) {
System.out.println(b);
}
public class Main {
public static void main(String []args){
System.out.println("hello world!");
}
}