JAVA笔记day3


JAVA笔记-Day3


封装性

一、封装性的概念
  1. 封装性是面向对象思想的三大特征之一

  2. 封装就是隐藏实现细节,仅对外提供访问接口。

    ​ 封装有:

属性的封装、方法的封装、类的封装、组件的封装、模块化封装、系统级封装…

理解封装的概念可以从生活中的事物来思考,封装起来的东西就是相对独立的整体,比如一个书包,一张桌子,一个冰箱等等,而这些东西组成了一个家。

二、封装的好处
  1. 模块化
  2. 信息隐藏
  3. 代码重查
  4. 插件化易于调试
  5. 具有安全性

封装缺点:会影响执行效率

封装性
如果属性没有封装,那么在本类之外创建对象后,可以直接访问属性
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
/**
封装性
如果属性没有封装,那么在本类之外创建对象后,可以直接访问属性
Private关键字:访问权限修饰符。
public 公有的 公有的属性和方法,可以被本类外部的其他类访问
private 私有的,私有的属性或方法,只能在本类中访问

*/
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
/**
想要在类外部访问私有属性,我们需要提供公有的方法来间接访问
通常在一个类中,属性都私有化,并对外提供getter and setter方法
*/
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;

//getter and setter写法

//对外提供一个为name属性设置的方法
public void setName(String name){
this.name = name;
//this.name中的name指的是p1这个对象的变量name
//name指的是此方法中的参数name
}
//对外提供一个获取name属性的方法
public String getName(){
return name;
}

public void setAge(int age){
this.age = age;
}

public int getAge(){
return age;
}
}
1
2
3
4
//此代码运行的结果
小轩同学
21


文章作者: 小轩同学
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小轩同学 !
  目录