关于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回答

好帮手慕小尤

2021-05-26

同学你好,1、static表示静态,而以static修饰的方法是静态方法,而在静态方法中无法直接调用非静态方法(没有static修饰的方法就是非静态方法)如:change(str)。所以change()方法需要添加static关键字。

2、调用非静态方法可以先实例化该类,然后通过实例化对象进行调用(静态方法通过此方式调用也是可以)。如下所示:

http://img.mukewang.com/climg/60adb405098510de07100478.jpg

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关键字在后期会详细讲解,现阶段同学大概了解一下即可。

祝学习愉快!

0

0 学习 · 16556 问题

查看课程