标签:int 因此 src ret this www 提高 alt+ 代码
一、什么是封装
菜鸟教程对封装的解释是“在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。”。简单来说就是对公用的java代码装到一个盒子中。当需要使用这部分代码的是时候,通过调用这个打包好的盒子就可以对这个功能进行实现。
二、为什么要进行封装
三、封装的实现(属性私有,get/set)
Student.java,是一个学生类。有私有属性,这些属性只有在本类里面才有效。在Student类里面针对各个属性有get和set方法,这些方法是共有属性,当产生一个Student对象时,就可以通过这些共有属性来访问这些私有变量。这就是这个类提供对外的接口。
public class Person { private String name; private int age; private int id; private char sex; 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 int getId() { return id; } public void setId(int id) { this.id = id; } public char getSex() { return sex; } public void setSex(char sex) { this.sex = sex; } }
Application.java通过创建一个对象来使用Student类中的私有属性:
public class Application { public static void main(String[] args) { Person person=new Person();
System.out.println(person.getName()); person.setName("ThreePure"); System.out.println(person.getName());
person.setAge(21); System.out.println(person.getAge());
person.setId(512); System.out.println(person.getId());
person.setSex(‘男‘); System.out.println(person.getSex()); } }
输出结果为:
null ThreePure 21 512 男
由运算结果可知,当变量被定义而没有被初始化时,是会有一个默认值的。
封装还一个好处就是可以提高代码的安全性,这里年龄可以随意输入,但是现实生活中,年龄的范围是0-120岁,这就需要使用封装对年龄进行限制。当输入非法的数据时能够自行判断。对setAge方法进行修改。
public void setAge(int age) { if (age>120 || age<0){ System.out.println("输入的年龄非法"); }else { this.age = age; } }
person.setAge(121); System.out.println(person.getAge());
运算结果:
输入的年龄非法 0 //使用默认值输出。
以上实例中public方法是外部类访问该类成员变量的入口。因此,任何要访问类中私有成员变量的类都要通过这些getter和setter方法。
四、IDEA快速创建get/set方法。
在需要创建get/set方法处按Alt+insert组合键打开Generate菜单,选择Getter and Setter。
在弹出来的菜单中选中要创建get/set方法的变量:
到此,get/set方法的创建就完成了。
标签:int 因此 src ret this www 提高 alt+ 代码
原文地址:https://www.cnblogs.com/threepure/p/13702569.html