day06--封装的优化_this的概述和使用
This commit is contained in:
@@ -7,6 +7,7 @@ public class Demo03 {
|
||||
//其他类无法对private私有化属性进行随意的访问了!!!
|
||||
/*s.name = "张三";
|
||||
s.age = 120;*/
|
||||
System.out.println("学生对象s:"+s);
|
||||
s.setName("张三");
|
||||
s.setAge(21);
|
||||
showStudent(s);
|
||||
|
||||
@@ -11,27 +11,37 @@ public class Student {
|
||||
private String name;
|
||||
private int age;
|
||||
|
||||
//注意:编程规范最好要见其名知其意
|
||||
|
||||
//定义一对get/set方法对私有的,允许访问的 属性进行操作
|
||||
public String getName(){
|
||||
return name;
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public void setName(String n){
|
||||
name = n;
|
||||
public void setName(String name){
|
||||
//此处发生了局部变量与成员变量同名的问题
|
||||
//name = name;//此代码的含义:局部变量name = 局部变量name
|
||||
/*
|
||||
this:表示的是该方法的调用者对象,谁调用方法setName,this就是谁
|
||||
注意:在一个类中只要使用到成员变量和成员方法,代码的前面都会默认加上this.
|
||||
|
||||
*/
|
||||
System.out.println("this关键字:"+this);
|
||||
this.name = name;//此代码的含义:成员变量name = 局部变量name
|
||||
}
|
||||
|
||||
|
||||
public int getAge(){
|
||||
return age;
|
||||
return this.age;
|
||||
}
|
||||
|
||||
public void setAge(int a){
|
||||
if (a > 100 || a < 0) {
|
||||
public void setAge(int age){
|
||||
if (age > 100 || age < 0) {
|
||||
System.out.println("您输入的年龄有误,只能是0~100");
|
||||
//此处直接将方法结束即可
|
||||
return;
|
||||
}
|
||||
age = a;
|
||||
this.age = age;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user