java中 静态方法和非静态方法的调用

时间:2022-08-30 22:40:48
 如果是这个类内调用自己的方法,直接写方法名传入参数就可以 
静态方法里面不能调用非静态方法
 package com.zqz.image;

public class HellowWord {

public void say(String word){// 非静态方法,需要new 一个对象后,使用new 出来的对象调用,
System.out.println(word);
}

public static void say1(String word){ //静态方法,调用HellowWord.say1("hello")
System.out.println(word);
}

public static void main(String[] args){
String word ="hello";    

HellowWord.say1(word);       //直接调用静态方法    如果是静态方法,直接类名.方法名(参数) 就可以

HellowWord hw = new HellowWord();    //调用非静态方法
hw.say(word);                             //  如果调用另外一个类的非静态方法,需要先实例化这个类,就是 new一个,然后在用new 出来的这个实例去调用
}
}

package com.zqz.image;

public class HellowWord {

public static void main(String[] args){
String word ="hello";
//直接调用静态方法
HellowWord.say1(word);
//调用非静态方法
HellowWord hw = new HellowWord();
hw.say(word);
}

public void say(String word){// 非静态方法,需要new 一个对象后,使用new 出来的对象调用,
System.out.println("非静态方法执行:"+word);
}

public static void say1(String word){ //静态方法,调用方法“类名.方法名(参数)”  HellowWord.say("hello")
System.out.println("静态方法执行:"+word);
}

}