day06-面向对象特性之封装的优化_this的概述和使用
This commit is contained in:
@@ -15,11 +15,11 @@ public class Demo04 {
|
||||
s.name = "张三";
|
||||
System.out.println(s.age);
|
||||
System.out.println(s.name);*/
|
||||
|
||||
s.setName("张三");
|
||||
System.out.println("对象s的地址为"+s);
|
||||
s.setName("李四");
|
||||
System.out.println(s.getName());
|
||||
|
||||
s.setAge(-18);
|
||||
s.setAge(18);
|
||||
System.out.println(s.getAge());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@ package com.inmind.private02;
|
||||
/*
|
||||
private:权限修饰符,最小一个权限,被它修饰的内容只能在本类中访问,private可以修饰
|
||||
成员方法和成员变量,表示私有化
|
||||
|
||||
注意:在本类中,使用任意的成员内容,前面都有this.,不写,编译器也会加上
|
||||
*/
|
||||
public class Student {
|
||||
//姓名
|
||||
@@ -11,19 +13,28 @@ public class Student {
|
||||
|
||||
//get方法
|
||||
public String getName(){
|
||||
return name;
|
||||
return this.name;
|
||||
}
|
||||
|
||||
//set方法
|
||||
public void setName(String a){
|
||||
name = a;
|
||||
public void setName(String name){
|
||||
/*
|
||||
当前代码想要的效果:成员变量 = 局部变量
|
||||
但当前的效果:局部变量 = 局部变量
|
||||
如何解决当前重名的问题???
|
||||
使用this:this.成员变量名,一定表示当前对象的成员变量
|
||||
注意:this表示一个对象,哪个对象调用了当前的方法,那么这个this就表示该对象
|
||||
*/
|
||||
this.name = name;
|
||||
//s.name = name;
|
||||
System.out.println("this:"+this);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//get方法
|
||||
public int getAge(){
|
||||
return age;
|
||||
return this.age;
|
||||
}
|
||||
|
||||
//set方法
|
||||
@@ -32,12 +43,12 @@ public class Student {
|
||||
System.out.println("您输入的年龄有误");
|
||||
return;//提前结束方法,如果年龄小于0或者大于120,则直接返回,不执行下面的代码
|
||||
}
|
||||
age = a;
|
||||
this.age = a;
|
||||
}
|
||||
|
||||
|
||||
//学习
|
||||
public void study(String book){
|
||||
System.out.println(name+"学生正在学习" + book);
|
||||
System.out.println(this.name+"学生正在学习" + book);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user