Java--封装
1、概念:尽可能隐藏对象的内部实现细节,控制对象的修改和访问权限。
访问修饰符:private(可将属性修饰为私有,仅本类可见)
在对象的外部,在给对象的属性赋值的时候,可能会存在非法数据的输入。
为了避免这种情况,把变量封装为私有变量,这样的话外部就无法访问。
如果想要访问,则需要通过访问公共方法的形式来完成赋值和取值的操作。
两个公共方法:setxxxx() --这个方法是给变量赋值 使用方法参数实现赋值 可以在set方法中 通过逻辑判断来给变量赋值 如果是非法的 则可以给默认值
getxxxx() --这个方法是取变量的值 使用方法的返回值实现取值
自动生成 set()、get()方法的快捷键:Alt + Shift + S -->弹出的菜单中选择-->Generate Getters and Setters --> 勾选需要生成方法的变量 确认即可
package com.monv.fengzhuang; /** * 学生类--测试封装 * @author Administrator * */ public class student { String name;//姓名 String sex;//性别 private double age;//年龄 String banji;//班级 double score;//成绩 public void showinfo(){ System.out.println("学生姓名:"+name+" 性别:"+sex+" 年龄:"+age +" 班级:"+banji + " 成绩:"+score); } //获取age的值 public double getAge() { return age; } //给age赋值 public void setAge(double age) { if(age > 0 && age <= 120){//age 的取值范围 1=120 this.age = age; } else // 如果超出范围 则默认给18 { this.age = 18; } } } package com.monv.fengzhuang; public class TestStudent { public static void main(String[] args) { student monv = new student(); monv.name = "魔女"; monv.sex = "女"; // monv.age = 1000;//年龄的取值范围应该是在 1-120之间 monv.setAge(1000);//调用setAge方法 给age赋值 这里给1000 超出取值范围 输出默认值18 monv.banji= "3-2"; monv.score= 100; monv.showinfo(); } } 输出结果为:学生姓名:魔女 性别:女 年龄:18.0 班级:3-2 成绩:100.0
输出是最好的输入。把学习的内容输出出来,加深记忆;