1、定义
隐藏类的内部信息,不允许外部程序直接访问,而是通过方法进行访问
2、操作步骤
1.设置属性为私有的private,只能在本类中使用
2.编写对应属性的set赋值方法和get取值方法
3.根据情况编写判断语句
3、操作
Student02类
/*
* 判断输入的年龄是否合法
*/
public class Student02 {
//①设置属性为私有的private,只能在本类中使用
String name;
String sex;
private int age;
//②编写对应属性的set赋值方法和get取值方法
//eclipse快捷键alt+shift+s
public int getAge() {
return age;
}
public void setAge(int age) {
//③根据情况编写判断语句
if(age >= 0 && age <= 150) {
this.age = age;
}else {
this.age = 18;
}
}
}
Test02类
public class Test02 {
public static void main(String[] args) {
Student02 stu = new Student02();
stu.setAge(12345);
System.out.println("第一个年龄:" + stu.getAge());
stu.setAge(25);
System.out.println("第二个年龄:" + stu.getAge());
}
}
输出结果:
4、案例
编写学生类
属性:
名字、年龄、性别
要求:
1.使用封装完成,对所有属性进行赋值和取值
2.年龄:0-150,否则为:18
3.性别:男、女,否则为:男
Student03类
public class Student03 {
//①设置属性为私有的private,只能在本类中使用
private String name;
private String sex;
private int age;
//②编写所有属性的set赋值方法和get取值方法
//eclipse快捷键alt+shift+s
public int getAge() {
return age;
}
public void setAge(int age) {
//③根据情况编写判断语句
if(age >= 0 && age <= 150) {
this.age = age;
}else {
this.age = 18;
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
if(sex.equals("男") || sex.equals("女")) {
this.sex = sex;
}else {
this.sex = "男";
}
}
}
Test03类
public class Test03 {
public static void main(String[] args) {
Student03 stu = new Student03();
//对所有属性进行赋值,调用set方法
System.out.println("第一个赋值,符合条件");
stu.setAge(20);
stu.setName("韩梅梅");
stu.setSex("女");
System.out.println("姓名:" + stu.getName());
System.out.println("性别:" + stu.getSex());
System.out.println("年龄:" + stu.getAge());
System.out.println("分界线--------------------------------");
System.out.println("第二个赋值,不符合条件");
stu.setAge(123456);
stu.setName("张三");
stu.setSex("男女");
System.out.println("姓名:" + stu.getName());
System.out.println("性别:" + stu.getSex());
System.out.println("年龄:" + stu.getAge());
}
}
输出结果: