private 访问权限修饰符,表示"私有的",被private修饰的内容
只能在本类中访问,使用private可以实现封装.
package day01;
/*
*private 访问权限修饰符,表示"私有的",被private修饰的内容
* 只能在本类中访问,使用private可以实现封装
* 2022/10/11
*/
public class Test2_Private {
public static void main(String[] args) {
Person p = new Person();
//无法直接访问其他类中被private修饰的内容
// System.out.println(p.name);
p.setName("张三");
System.out.println(p.getName());
p.setAge(18);
System.out.println(p.getAge());
p.setGender("未知");
System.out.println(p);//day01.Person@1b6d3586
System.out.println(p.getGender());
new Person ().setGender("女");//day01.Person@4554617c
// p.test();
p.show();
}
}
class Person{
//属性私有化,方法公开化
//1.使用private修饰属性让其只能在本类中访问
private String name;
private int age;
//2.提供公开的get/set方法访问私有属性
//2.1 提供getXXX()方法 用于外界获取属性值
public String getName(){
return name;
}
//2.2 提供setXXX()方法用于外界设置属性值
public void setName(String str){
name = str;
}
//age 年龄
public int getAge(){
return age;
}
public void setAge(int a){
age = a;
}
private String gender;//性别
//快捷生成get/set方法:generate - getter and setter
public String getGender() {
return gender;
}
public void setGender(String gender) {
/*
this关键字用于指代当前类的对象,相当于是一个引用里面保存的是对象的地址值,
使用this可以调用本类的
成员变量和成员方法,.当成员变量与局部变量同名时,可以使用this调用成员变量进行区分,
否则在使用时会遵循就近原则
都识别为局部变量,不同命时可以省略this
*/
this.gender = gender;
System.out.println(this);
}
//使用private修饰方法
private void test(){
System.out.println("私有方法");
}
public void show(){
test();//通过公开的方法对外界间接提供对私有方法的访问
System.out.println("show()");
}
}