Java编程题 为什么输出的是这样的结果?
Java编程题为什么输出的是这样的结果?packageclassDemo;publicclassExample{Stringstr=newString("good");c...
Java编程题 为什么输出的是这样的结果?
package classDemo;
public class Example {
String str = new String("good");
char[] ch = { 'a', 'b', 'c' };
public static void main(String args[]) {
Example ex = new Example();
ex.change(ex.str, ex.ch);
System.out.print(ex.str = " and ");
System.out.print(ex.ch);
System.out.println();
ex.change2(ex.str, ex.ch);
System.out.print(ex.str = " and ");
System.out.print(ex.ch);
}
public void change(String str, char ch[]) {
str = "test ok";
ch[0] = 'g';
}
public void change2(String str, char[] ch) {
str = "test ok";
ch[0] = 'g';
}
}
结果:
and gbc
and gbc
为什么呢?
为什么不是' and abc'?char[] ch的值怎么会改变,change()中的参数不是内部参数么?会影响外部的char[] ch呢?
谁能给一个好的解答呀? 展开
package classDemo;
public class Example {
String str = new String("good");
char[] ch = { 'a', 'b', 'c' };
public static void main(String args[]) {
Example ex = new Example();
ex.change(ex.str, ex.ch);
System.out.print(ex.str = " and ");
System.out.print(ex.ch);
System.out.println();
ex.change2(ex.str, ex.ch);
System.out.print(ex.str = " and ");
System.out.print(ex.ch);
}
public void change(String str, char ch[]) {
str = "test ok";
ch[0] = 'g';
}
public void change2(String str, char[] ch) {
str = "test ok";
ch[0] = 'g';
}
}
结果:
and gbc
and gbc
为什么呢?
为什么不是' and abc'?char[] ch的值怎么会改变,change()中的参数不是内部参数么?会影响外部的char[] ch呢?
谁能给一个好的解答呀? 展开
展开全部
public void change(String str, char ch[]) {
str = "test ok";
ch[0] = 'g';
}
public void change2(String str, char[] ch) {
str = "test ok";
ch[0] = 'g';
}
你这两个方法中的 str 和ch 其实就是类变量 只是在前面省略了 this.
你跟本就没有使用到方作的参数
str = "test ok";
ch[0] = 'g';
}
public void change2(String str, char[] ch) {
str = "test ok";
ch[0] = 'g';
}
你这两个方法中的 str 和ch 其实就是类变量 只是在前面省略了 this.
你跟本就没有使用到方作的参数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
基本类型数组是传引用的
(1)基本类型变量,包括char、byte、short、int、long、float、double、boolean。
(2)引用类型变量,包括类、接口、数组(基本类型数组和对象数组)。
顺便说下楼上的
不加this.的话就是用的参数的,加了this.才是类变量
(1)基本类型变量,包括char、byte、short、int、long、float、double、boolean。
(2)引用类型变量,包括类、接口、数组(基本类型数组和对象数组)。
顺便说下楼上的
不加this.的话就是用的参数的,加了this.才是类变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
但你调change()方法的时侯传的参数是ch[] 啊,由此方法改变了那值.呵呵
不懂再留言.
不懂再留言.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询