JAVA笔记-Day3
封装性
一、封装性的概念
封装性是面向对象思想的三大特征之一
封装就是隐藏实现细节,仅对外提供访问接口。
封装有:
属性的封装、方法的封装、类的封装、组件的封装、模块化封装、系统级封装…
理解封装的概念可以从生活中的事物来思考,封装起来的东西就是相对独立的整体,比如一个书包,一张桌子,一个冰箱等等,而这些东西组成了一个家。
二、封装的好处
- 模块化
- 信息隐藏
- 代码重查
- 插件化易于调试
- 具有安全性
封装缺点:会影响执行效率
封装性
如果属性没有封装,那么在本类之外创建对象后,可以直接访问属性
Private关键字:访问权限修饰符。
public 公有的 公有的属性和方法,可以被本类外部的其他类访问
private 私有的,私有的属性或方法,只能在本类中访问
想要在类外部访问私有属性,我们需要提供公有的方法来间接访问
通常在一个类中,属性都私有化,并对外提供getter and setter方法
未封装代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
public class Day3{ public static void main(String[] args){ Person p1 = new Person(); p1.name = "小轩同学"; p1.age = 21; System.out.println(p1.name); System.out.println(p1.age); } }
class Person{ String name; int age;
}
|
封装后代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
public class Day3{ public static void main(String[] args){ Person p1 = new Person(); p1.setName("小轩同学"); p1.setAge(21); System.out.println(p1.getName()); System.out.println(p1.getAge()); } }
class Person{ private String name; private int age; public void setName(String name){ this.name = name; } public String getName(){ return name; } public void setAge(int age){ this.age = age; } public int getAge(){ return age; } }
|