1.可以修饰成员变量和成员方法
2.被其修饰的成员只能在本类中被访问
3.变量使用了private进行修饰以后其作用域就只在该类当中,导包后其他类是无法直接访问的。
4.可以使用getter和setter进行间接访问
格式:必须使用 set/get+变量名(变量名第一个字母大写)
对于使用get方法,无需参数,必须有返回值。
对于使用set方法,必须传递参数,无需返回值。
例子:
1. public class Test {
public static void main(String[] args) {
System.out.println("main......");
Quzq obj = new Quzq();
System.out.println(obj.x); // 这里访问不了, 会报错
System.out.println(Quzq.y); // 同上, 因这两个属相都使用private封装过了
}
}
2. public class Person {
String name;
private int age;
public void show() {
System.out.println("我叫:" + name + ",年龄:" + age);
}
// 用于向age设置数据
public void setAge(int num) {
if (num < 100 && num >= 9) {
age = num;
} else {
System.out.println("数据不合理!");
}
}
// 用于获取age的数据
public int getAge() {
return age;
}
this关键字
1.this关键字用来表示当前对象本身,或当前类的一个实例,通过 this 可以调用本对象的所有方法和属性。
public class Demo{
public int x = 10;
public int y = 15;
public void sum(){
// 通过 this 点取成员变量
int z = this.x + this.y;
System.out.println("x + y = " + z);
}
public static void main(String[] args) {
Demo obj = new Demo();
obj.sum();
}
}
2.使用this区分同名变量
成员变量与方法内部的变量重名时,如果要在在方法内部调用成员变量的话只能使用this。
public class Demo{
public String name;
public int age;
public Demo(String name, int age){
this.name = name;
this.age = age;
}
public void say(){
System.out.println("网站的名字是" + name + ",已经成立了" + age + "年");
}
public static void main(String[] args) {
Demo obj = new Demo("CSDN", 10);
obj.say();
}
}
3.作为方法名来初始化对象
也就是相当于调用本类的其它构造方法,它必须作为构造方法的第一句。
public class Demo{
public String name;
public int age;
public Demo(){
this("CSDN", 10);
}
public Demo(String name, int age){
this.name = name;
this.age = age;
}
public void say(){
System.out.println("网站的名字是" + name + ",已经成立了" + age + "年");
}
public static void main(String[] args) {
Demo obj = new Demo();
obj.say();
}
}