private关键字
权限修饰符,可以修饰成员变量和方法,作业是保护成员不被别的类使用。
针对’private修饰的成员变量,如果需要被其他类室友,提供相应的操作
1、提供“get变量名()”,用于获取成员变量的值,方法用public修饰
2、提供“set变量名(参数)”,用于设置成员变量的值,方法用public修饰
Student.java:
public class Student {
String name;
// int age;
private int age;
//提供get/set方法
public void setAge(int a){
if(a<0||a>120)
{
System.out.println("error");
}else age=a;
}
public int getAge(){
return age;
}
public void show()
{
System.out.println(name+","+age);
}
}
StudentDemo.java
public class StudentDemo {
public static void main(String[] ages){
Student s = new Student();
s.name="lqx";
// s.age=30;
s.setAge(-30);
s.show();
}
}
private的使用
student 学生类
package com.itheima_05;
//学生类
public class Student {
private String name;
private int age;
//get/set方法
public void setName(String n)
{
name = n;
}
public String getName(){
return name;
}
public void setAge(int a){
age=a;
}
public int getAge(){
return age;
}
public void show()
{
System.out.println(name+","+age);
}
}
studentdemo 学生测试类
package com.itheima_05;
//学生测试类
public class StudentDemo {
public static void main(String[] args){
Student s = new Student();
//set
s.setName("lqx");
s.setAge(30);
s.show();
//get 可以随便选择格式
System.out.println(s.getName()+ "--"+s.getAge());
}
}
this关键字
1、this修饰的变量用于指代成员变量
方法的形参如果与成员变量同名,不带this修饰的变量指形参,而不是成员变量
方法的形参没有与成员变量同名,不带this修饰的变量指成员变量
2、this解决局部变量隐藏成员变量的问题
3、this:代表所在类的对象引用
方法被哪个对象调用,this就代表哪个对象
student 学生类
package com.itheima_05;
//学生类
public class Student {
private String name;
private int age;
//get/set方法
//public void setName(String n){
// name = n;
//}
public void setName(String name){
//name=name;
this.name=name;//this.name指代成员变量 name指代局部变量
}
public String getName(){
return name;
}
// public void setAge(int a){
// age=a;
//}
public void setAge(int age)
{
this.age=age;
}
public int getAge(){
return age;
}
public void show()
{
System.out.println(name+","+age);
}
}
studentdemo 学生测试类
package com.itheima_05;
//学生测试类
public class StudentDemo {
public static void main(String[] args){
Student s = new Student();
//set
s.setName("lqx");
s.setAge(30);
s.show();
//get 可以随便选择格式
System.out.println(s.getName()+ "--"+s.getAge());
}
}