目录
面向对象的三大特征,封装,继承,多态
封装:隐藏实现细节,暴露出合适的访问方式
封装的实现:
步骤一:隐藏
- 一般对成员变量使用private关键字修饰进行隐藏,
- private修饰后该成员变量就只能在当前类中访问,此时age变量不能随意被其他类访问:
public class student { private int age; }
步骤二:暴露
- 提供public修饰的公开的getter,setter方法暴露其取值和赋值
public class student { //成员变量私有化 private int age; //成员变量的取值方法getAge public int getAge(){ //age的返回值int return age; } //成员变量的赋值方法:setAge public void setAge(int age){ if(age>=0 && age<=200){ //确认age这个变量的赋值没有问题 this.age=age; }else{ System.out.println("非人类"); } } }
public class Test { public static void main(String[] args) { student s=new student(); s.setAge(18);//调用赋值方法 s.getAge();//调用取值方法 System.out.println(s.getAge()); } }
运行结果:
18
封装的作用:
1.加强了程序代码的安全性
2.适当的封装可以提升开发效率,同时可以让程序更容易理解和维护
JavaBean:
- 实体类,他的对象可以用于程序中的封装(经常使用)
1.成员变量使用private私有
2.提供每一个成员变量的set..()和ger..()方法
3.提供无参数构造器(必要)和有参构造器
标准JavaBean
public class User { //1. private String name; private double height; private double salary; //2.鼠标右键找到Generate Getters ans Setters,快捷创建取值和赋值方法 //name public String getName() { return name; } public void setName(String name) { this.name = name; } //height public double getHeight() { return height; } public void setHeight(double height) { this.height = height; } //salary public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } //3.无参构造器 public User() { } //4.有参构造器 public User(String name,double height,double salary) { this.name=name; this.height=height; this.salary=salary; } }
javabean 的使用
public class Test { public static void main(String[] args) { //1.调用无参构造器 User u = new User(); u.setName("阿崽"); u.setHeight(180); u.setSalary(10000); System.out.println(u.getHeight()); System.out.println(u.getName()); System.out.println(u.getSalary()); //2.调用有参构造器 User u2=new User("阿崽", 180, 10000); System.out.println(u2.getHeight()); System.out.println(u2.getName()); System.out.println(u2.getSalary()); } }