class Person {
private String name; // 声明姓名属性
private int age; // 声明年龄属性
public void tell() { // 取得信息的方法
System.out.println("姓名:" + name + ",年龄:" + age);
}
}
public class EncDemo02 {
public static void main(String args[]) {
Person per = new Person();
per.name = "张三"; // 错误,无法访问封装属性
per.age = -30; // 错误,无法访问封装属性
per.tell();
}
}
由于已将name和age封装,直接访问会出现无法访问封装属性的情况
这里我们可以用到setter及getter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
另外,string用引号创建即:String str1=“hello”;String str2=“world”以这种方式创建只开辟栈空间,不开辟堆空间
“hello”和“world”保存在常量池中,两者地址值相同