class pass
{
int x;
public static void main(String args[])
{
pass obj=new pass();
obj.x=5;
change(obj);
System.out.println(obj.x);
}
public *static* void change(pass obj)
{
obj.x=3;
}}
在change()方法中为什么必须要用static啊,请教大家!
{
int x;
public static void main(String args[])
{
pass obj=new pass();
obj.x=5;
change(obj);
System.out.println(obj.x);
}
public *static* void change(pass obj)
{
obj.x=3;
}}
在change()方法中为什么必须要用static啊,请教大家!
pass p = new pass();
p.change(obj);类名首字母最好大写 方法名首字母小写
否则你调用的时候就要必须先实例化一个对象了 如new pass().change(obj);
以后类名要注意首字母大写!
方法的调用:
当方法是静态时(有static),通过<类名.方法名([参数])>进行调用。 例:
public class Test{
public static void main(String[] args){
Test.method();//调用静态方法。
} public static void method(){
System.out.println("静态方法被调用");
}
} 非静态方法调用:通过<实例名.方法名([参数])>进行调用。 例:
public class Test{
public static void main(String[] args){
Test t = new Test();
t.method();//调用非静态方法
} public void method(){
System.out.println("非静态方法被调用");
}
}
方法调用时的参数,根据定义来给。如定义时有参数,调用时必须给参数,且类型,位置一致。
....
想直接用就要设成static
而 main 是静态的
所以 change()应声明为静态的