)
第4关This关键字任务描述本关任务使用this关键字设置对象的成员变量。相关知识我们先来看一段代码输出结果传入的name:李四age:10student属性name:张三age:18上述结果我们可以发现一个问题在构造方法中name和age并没有设置成功stu对象的name属性和age属性的值还是默认定义好的张三和18。怎么解决这个问题呢你需要学习两个知识点1.什么是成员变量 2.this关键字。什么是成员变量成员变量就是对象的属性this关键字关于this关键字你只需要记住它就是指自身this即代表自己this.属性访问的是自己的属性、this()访问的就是自己的无参构造方法。例1this.属性例2this.属性this()输出I am张三可以发现如果我们把上述this.name name改为 name name那么最终的结果就变成了I amnullthis()调用的是Person自己的无参构造方法this.name访问的是Person对象自身的name而方法参数中的name则表示方法传入的值。学会了this关键字的用法那本关最开始遇到的问题是不是就有解了呢编程要求右侧编辑器中已经编写好了代码但是输出结果不能让我们满意请根据所学知识修改代码使其能输出如下结果namebabyage45sex女测试说明测试输入baby45女预期输出namebabyage45sex女开始你的任务吧祝你成功package step3;import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner sc new Scanner(System.in);String name sc.next();int age sc.nextInt();String sex sc.next();Person p new Person(name,age,sex);p.display();}}class Person{String name 张三;int age 18;String sex 男;/********** Begin **********/public Person(String name,int age,String sex){this.ageage;this.name name;this.sex sex;}public Person(int age){age age;}public void display(){String name this.name;int age this.age;String sex this.sex;System.out.println(name name);System.out.println(age age);System.out.println(sex sex);}/********** End **********/}有任何问题都可以随时关注私信