day06-封装的优化_this的概述和使用
This commit is contained in:
@@ -15,10 +15,15 @@ public class Demo03 {
|
|||||||
//s.age = -18;
|
//s.age = -18;
|
||||||
//s.id = 2;
|
//s.id = 2;
|
||||||
//针对私有化的属性进行取值赋值
|
//针对私有化的属性进行取值赋值
|
||||||
|
//赋值
|
||||||
s.setAge(18);
|
s.setAge(18);
|
||||||
|
System.out.println("对象s的地址:"+s);
|
||||||
s.setName("张三");
|
s.setName("张三");
|
||||||
s.setId(2);
|
s.setId(2);
|
||||||
s.study("SQL");
|
s.study("SQL");
|
||||||
|
//取值
|
||||||
|
int id = s.getId();
|
||||||
|
int age = s.getAge();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,42 +5,54 @@ public class Student {
|
|||||||
private int age;
|
private int age;
|
||||||
private int id;
|
private int id;
|
||||||
|
|
||||||
//获取年龄
|
|
||||||
public int getAge(){
|
|
||||||
return age;
|
|
||||||
}
|
|
||||||
|
|
||||||
//设置年龄
|
//设置年龄
|
||||||
public void setAge(int a){
|
public void setAge(int age){
|
||||||
if (a >= 0 && a <= 120) {
|
if (age >= 0 && age <= 120) {
|
||||||
age = a;
|
this.age = age;
|
||||||
} else {
|
} else {
|
||||||
System.out.println("年龄不合法,请输入0~120的年龄");
|
System.out.println("年龄不合法,请输入0~120的年龄");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//获取年龄
|
||||||
|
public int getAge(){
|
||||||
|
return this.age;
|
||||||
|
}
|
||||||
|
|
||||||
public int getId(){
|
public int getId(){
|
||||||
return id;
|
return this.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
//设置年龄
|
//设置年龄
|
||||||
public void setId(int b){
|
public void setId(int id){
|
||||||
id = b;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public String getName(){
|
public String getName(){
|
||||||
return name;
|
return this.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
//设置年龄
|
//设置年龄
|
||||||
public void setName(String n){
|
public void setName(String name){//shfit+F6:重命名
|
||||||
name = n;
|
/*
|
||||||
|
name = name;
|
||||||
|
当前代码想要的效果:成员变量 = 局部变量
|
||||||
|
但当前的效果:局部变量 = 局部变量
|
||||||
|
如何解决当前重名的问题???
|
||||||
|
使用this:this.成员变量名,一定表示当前对象的成员变量
|
||||||
|
this:表示一个对象,哪个对象调用了当前的方法,那么这个this就表示该对象
|
||||||
|
总结:在一个描述类中,所有的成员变量和成员方法,前面都有this.,哪怕你不写,编译器也会主动加上!!!!!
|
||||||
|
*/
|
||||||
|
System.out.println("setName方法中的this:"+this);
|
||||||
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//学习
|
//学习
|
||||||
public void study(String book){
|
public void study(String book){
|
||||||
System.out.println("姓名为"+name+"的"+age+"岁的学生正在学习"+book);
|
System.out.println("姓名为"+this.name+"的"+this.age+"岁的学生正在学习"+book);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user