/*
* A:人类赋值年龄的问题
* B:private关键字特点
* a:是一个权限修饰符
* b:可以修饰成员变量和成员方法
* c:被其修饰的成员只能在本类中被访问
* C:案例演示
* 封装和private的应用:
* A:把成员变量用private修饰
* B:提供对应的getXxx()和setXxx()方法
* private仅仅是封装的一种体现形式,不能说封装就是私有
*/
class Demo6_Test_Class {
public static void main(String[] args) {
//System.out.println("Hello World!");
Person p1 = new Person();
/*
p1.name = "White";
p1.age = -17; //未私有前,有可能导致数据不安全;未设置setXxx()方法之前,异常无法抛出
p1.speak();
*/
p1.setAge(-17); //变成方法后就可以写语句
System.out.println(p1.getAge());
}
}
/*
class Person{
String name;
int age;
public void speak() {
System.out.println(name + "..." + age);
}
}
*/
class Person{
String name = "Sunny";
private int age = 25; //私有后,age仅能在本类中 进行访问,提高安全性
//设置年龄
/*
public void setAge(int a) {
age = a;
}
*/
public void setAge(int a) { //设置setXxx()方法之后.可以添加语句对异常情况做判断,抛出异常
if (a > 0 && a < 150){
age = a;
}else {
System.out.println("Fuck!");
}
}
//获取年龄
public int getAge() {
return age;
}
public void speak() {
System.out.println(name + "..." + age);
}
}
|
|