/**
测试类的封装特性
类的封装特性就是, 将类的属性私有化private 然后提供公有的方法去访问
*/
public class Encapsulation {
public static void main(String[] args) {
//实例化Person 类
//1. 引用对象不能访问类的私有属性
//2. 如果要访问私有属性, 一般类中要另外提供访问私有属性的公有方法
Person p = new Person();
//p.name="李明";
//p.age=22;
p.setName("李明");
p.setAge(22);
p.say();
System.out.println(p);
System.out.println(p.getName() + " " + p.getAge());
}
}
class Person {
//实现类属性的封装 前面加 private 关键字
private String name;
private int age;
//定义访问私有属性的公有方法
//括号中 String name 是 方法setName 的传入参数
public void setName(String name) {
//this 代表当前对象的引用, 哪个对象引用该类,就是指的哪个引用
System.out.println(this);
this.name = name;
}
//String 是方法getName 的返回值的类型 输出返回值
public String getName() {
return this.name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return this.age;
}
public void say() {
System.out.println("我的名字叫:" + name + ",今年 " + age + " 岁");
}
}
/*
回顾总结
1. 在类当中定义的变量叫成员变量, 属性就是成员变量, 可以在整个类当中访问
2. 在方法中定义的变量叫局部变量, 只能在定义的方法当中访问
注意: 当局部变量和成员变量同名的时候, 局部变量回覆盖掉成员变量,所以当两个变量同名时
要区分成员变量必须加上 this
*/