参数和已声明的变量名相同

先看代码


public class CH05_01 {
	public static void main(String[] args){
			System.out.println("没有使用到stundent类的成员变量或方法");
			Student  s1=new Student();
			Student	 s2=new Student();
			Student s3;
			s3=new Student();
			s1.show();
			s2.setdata("康小爱", "A");
			s2.show();
			s3.name="康晓伟";
			s3.score="C";
			s3.show();
			Student.name="许雨柔";
			Student.score="A";
			Student.show();
	}
}
class Student{
		public Student(){
			name="康小月";
			score="B";
		}
		public static String name;
		public static String score;
		public static void show(){
			System.out.println("姓名:"+name);
			System.out.println("成绩:"+score);
		}
		public static void setdata(String name1,String score1){
			name=name1;
			score=score1;
		}
}

 显示结果:

没有使用到stundent类的成员变量或方法
 姓名:康小月
 成绩:B
 姓名:康小爱
 成绩:A
 姓名:康晓伟
 成绩:C
 姓名:许雨柔
 成绩:A

 

当我把方法中的参数的名称改为和已经声明的变量的名字相同的时候

		public static void setdata(String name,String score){
			name=name;
			score=score;
		}

 此时显示结果:

 没有使用到stundent类的成员变量或方法
 姓名:康小月
 成绩:B
 姓名:康小月
 成绩:B
 姓名:康晓伟
 成绩:C
 姓名:许雨柔
 成绩:A

结论:

在类中写方法时,如果参数列表的名称和已经声明的变量的名称相同时,类生成的对象调用此方法并传入新的参数,这时方法会优先读取类中已经声明的同名变量,这样对象调用方法不管传入什么参数一直都显示的是类中的变量。

转载于:https://www.cnblogs.com/kycool/archive/2011/12/06/2278018.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值