Java面向对象一课的1-11编程题

Java面向对象一课的1-11编程题

在Test类中实例化了一个Person类的对象one,并将one的属性name赋值"小明"。

public static void main(String[] args) {

Person one = new Person();

      //使用new关键字实例化对象

      one.name = "小明";

      one.age = 10;

      one.grade = "小学五年级";

      //传入name、age、grade的参数值


      one.student();

      one.sex("boy");

      one.mySelf();

      //分别调用student、sex、mySelf方法


}

在person类中,属性初始化及方法mySelf如下

String name;

int age;

String grade;

// 属性:name、age、grade

public void mySelf() {

System.out.println("我叫" + name);

}

// 创建无参无返回值的mySelf方法,分别介绍姓名(name),年龄(age),年级(grade)

我没有搞懂的是为什么改变对象的属性的值,在person类中的属性值也随之改变为“小明”?


另外一个问题就是在"我的提问"中找不到以往我提问的问题,我该去哪里看问题的答案呢

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小班 2019-08-20 17:15:55

同学你好,1、创建无参无返回值的mySelf方法,分别介绍姓名(name),年龄(age),年级(grade),在测试方法中:    创建这个Person类型的对象one-->Person one = new Person();

为one对象的这些属性赋值:

      one.name = "小明";

      one.age = 10;

      one.grade = "小学五年级";

      然后调用one对象的mySelf方法,就会输出这个对象的mySelf方法的内容,输出这些属性的值!

      one.mySelf();

这就是面向对象,就好像我们创建了一个人的对象,然后为这个人赋给名字是小明、年龄是15等属性,然后输出这个对象的自我介绍内容,就会输出这个对象赋值过的小明、15等内容!

这里改变对象的属性的值,修改的是这个对象的person类中的属性值改变为“小明”,并不是只是将这个类的属性值改为了小明!

2、同学可以从  我的课程   进入就业班

http://img1.sycdn.imooc.com//climg/5d5bb934000117c902070055.jpg

选择自己对应的课程;

http://img1.sycdn.imooc.com//climg/5d5bb9b10001c14311060227.jpg

点击问答中的  我的提问  就可以找到自己以前的提问!

http://img1.sycdn.imooc.com//climg/5d5bba370001d76c10270571.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 就是对象的属性和类的属性是一致的。如果实例化两个对象a和b,依次对其对象a,b的属性进行更改,则类的属性值是第二个对象b更改后的属性值吗 主要是我记得好像Python里更改对象的属性,不会改变类的属性值,不知道是不是我记错了,就有点迷惑
    2019-08-20 17:24:39
  • 同学你好,在java中new 对象类型(),就是在内存中开辟一个空间,比如 new Person() ,就是在内存中开辟一个空间,存放Person类型的对象,这块空间有Person类型的name、age、mySelf等成员属性和成员方法,赋值就是对这块空间中的属性赋值,调用方法也是调用这个对象中的方法,而Person类并没有变化,也没有属性值!如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
    2019-08-20 18:22:16
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师