Os:windows7 x64
Jdk:jdk-8u131-windows-x64
Ide:eclipse Oxygen Release (4.7.0)
Code
Package Jizuiku2;public class Demo001 {public static void main (string[] args) {String str1 = "Cnblog"; String str2 = "Jizuiku"; System.out.println (STR1); System.out.println (STR2); test (STR1,STR2); System.out.println (STR1); System.out.println (STR2);} public static void Test (String str1, String str2) {//change here does not cause str1/2 in the main function to change str1 = "Jizuiku"; str2 = "Cnblog";}}
Result
Use Debug to analyze it:
entered the function and executed the str1= "Jizuiku"; It is found that the STR1 variable has indeed changed. But.....
After switching to the main function, it is found that the str1 and str2 in the main function do not change ...
Switch to the test function again and execute the function.
The test function finishes, returning to the 11 line position in the main function .... You can see that there is no change in STR1/2.
Feelings:
Study the source code, review the blog post of the predecessors, learn English to read the relevant aspects of foreign articles. Get an early start to Java!
Java is good, worth learning.
Learning resources: CZBK's video library. If you have public resources, can share to me, with your resources to learn also can.
Blog post is to watch the video, into thinking written. It's good that the teacher speaks well. Blog bad, is to give the most bitter not serious.
The JavaSE8 base string is a special reference type that can only be viewed as a value type in the parameter pass of a function.