老师,一个小问题
先上代码:
//非测试类
public class People{
//成员属性:名字
private String name;
public People(String name){
this.setName(name);
}
public void setName(String name){
this.name=name;
}
public String getName(){
return this.name;
}
}
//测试类
public class Test{
public static void main(String[] args){
People one=new People("猪头阿三");
System.out.println(one.getName());
}
}
老师,这是一个代码例子,我的问题并不大,但就是想不通: 在set方法里是this.name=name;在get方法里是:return this.name; 我的问题是,既然name被private修饰限定了,不是同类不可以访问name,this在当前指代的是one,它是在测试类里被实例化的, 既然不同类,怎么还能用this去调用?
正在回答
你好!this表示当前类的引用,在People类中使用时,this就表示People类当前的引用,同理,被Test类使用时,就表示Test类当前的引用。这个是this本身的含义
在Test类中定义类People的对象one,对于one来说,此时People类中的this就相当于是one,跟是不是同类没有关系。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星