private 关键字
- 作用时保护成员不被别的类使用,被private修饰的成员只在本类中才能访
针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作
- 提供“get变量名()” 方法,用于获取成员变量的值,方法用public修饰
- 提供“set变量名(参数)” 方法,用于设置成员变量的值,方法用public修饰
public class Student {
private String name;
private int age;
public void setName(String n){
name = n;
}
public void setAge(int a){
age = a;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
public void show(){
System.out.println(name + "," + age);
}
}
public class StudentDemo {
public static void main (String[] args){
//使用set方法给成员变量赋值
Student s = new Student();
s.setName("ABC");
s.setAge(30);
s.show();
}
//使用get方法获取成员变量的值
System.out.println(s.getName() + "," + s.getAge());
System.out.println(s.getName() + "---" + s.getAge());
}
this 关键字
- this修饰的变量用于指代成员变量
- this代表所在类的对象引用,方法被哪个对象调用,this就代表哪个对象
public class Student {
private String name;
private int age;
public void setName(String name){
this.name = name;
}
public void setAge(int age){
this.age = age;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
public void show(){
System.out.println(name + "," + age);
}
}
public class StudentDemo {
public static void main (String[] arg){
//使用set方法给成员变量赋值
Student s = new Student();
s.setName("ABC");
s.setAge(30);
s.show();
}
//使用get方法获取成员变量的值
System.out.println(s.getName() + "," + s.getAge());
System.out.println(s.getName() + "---" + s.getAge());
}
封装
- 封装的含义:封装是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的。
- 封装的原则:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问成员变量private,提供对应的getXxx()/setXxx()方法。
- 封装的好处:提高了代码的安全性和复用性。