private关键字的作用及使用 13:19与练习使用private关键字定义学生类
private关键字
关键字private也是一种封装
Phone类
/* 问题描述:定义Person的年龄时, 无法阻止不合理的数值被设置进来。 解决方案,用private关键字将需要保护的成员变量进行修饰。 —旦使用了private进行修饰, 那么本类当中仍然可以随意访问 但是!超出了本类范围之外就不能再直接访向了。 间接访问private成员变量,就是定义一对Getter/Setter方法 必须叫setxxx或者是getxxx命名规则 对于Getter来说,不能有参数,返回值类型和成员变量对应 对于Setter来说,不能有返回值,参数类型和成员变量对应 */ public class Phone { String name; int age; public void show(){ System.out.println("我叫:"+name+",年龄:"+age); } public void setAge(int num) { if (num<100 && num>=9){ age = num; }else { System.out.println("数据不合理"); } age =num; } public int getAge() { return age; } }
PhomeDemo03类
public class PhomeDemo03 { public static void main(String[] args) { Phone phone = new Phone(); phone.show(); phone.name = "赵高"; // phone.age = 20; //直接访问private内容,错误写 phone.setAge(-20); phone.show(); } }
练习使用private关键字定义学生类
Student类
/* 对于基本类型当中的boolean值,Getter方法一定要写成isxxx的形式,而setxxx规则不变。 */ public class Student { private String name; private int age; private boolean male; 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; } public boolean isMale() { return male; } public void setMale(boolean male) { this.male = male; } }
Studentdemo01
public class Studentdemo01 { public static void main(String[] args) { Student stu =new Student(); stu.setName("鹿晗"); stu.setAge(20); stu.setMale(true); System.out.println("姓名:"+stu.getName()); System.out.println("年龄:"+stu.getAge()); System.out.println("是不是爷们儿:"+stu.isMale()); } }