关于5-3数组的传递的实践
来源:5-3 数组的传值
seagull丶7
2021-05-25 20:55:30
public class HelloImooc {
public static void change(String str)
{
str = "abcd";
System.out.println(str);
}
public static void main(String[] args)
{
String str = new String();
str = "abc";
change(str);
System.out.println(str);
}
}
上边代码我只是想简单测试引用参数类型的传递,
但是change()这个函数为什么要加上"static"关键字呢?
1回答
同学你好,1、static表示静态,而以static修饰的方法是静态方法,而在静态方法中无法直接调用非静态方法(没有static修饰的方法就是非静态方法)如:change(str)。所以change()方法需要添加static关键字。
2、调用非静态方法可以先实例化该类,然后通过实例化对象进行调用(静态方法通过此方式调用也是可以)。如下所示:
public class HelloImooc {
public static void change(String str){
str = "abcd";
System.out.println(str);
}
public void change1(String str){
str = "abcd";
System.out.println(str);
}
public static void main(String[] args){
String str = new String();
str = "abc";
change(str);
HelloImooc hTest = new HelloImooc();
hTest.change1(str);
System.out.println(str);
}
}
注:关于static关键字在后期会详细讲解,现阶段同学大概了解一下即可。
祝学习愉快!
相似问题