【java基础知识】面向对象的三大特性之封装

时间:2021-01-05 20:03:59

1.面向对象与面向过程的区别
(1)面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;

(2)面向对象:把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

(3)分类: C 面向过程; C++ 面向过程+面向对象 ; Java 面向对象

2.什么是类、对象、属性和方法?

类:是对一类相同事物的抽象描述(构造对象的模板或蓝图);
对象:类的一个具体实现,代表一个实实在在的个体;
属性:是对一类相同特征的抽象,如身高、体重、年龄等;
方法:是对一类相同行为的抽象。

3.封装的定义:即数据隐藏,将数据和行为组装在一个包中,并对对象的使用者隐藏了数据的实现方法。实现封装的关键在于绝对不能让类中的方法直接地访问其他类的属性。程序仅通过对象的方法与对象数据进行交互。封装给对象赋予了“黑盒”特征,这是提高重用性和可靠性的关键。

4.构造器方法

(1)定义:构造器与类同名,每个类可以有一个以上的构造器,构造器没有返回值,构造器总是伴随着new操作一起被调用。

(2)无参构造器:定义一个类的时候如果不显示的定义一个构造器,则系统会提供一个默认的无参构造器,或自定定义一个无参的构造器
注:对象由无参构造器创建的时,其属性会设置为适当的默认值。

(3)带参数构造器
使用场景:显示域初始化。在执行构造器之前,先执行赋值操作。
参数变量:一般采用和属性相同的名字。
注:初始值不一定是一个常量,也可以调用方法对属性进行赋值。

5.定义格式
说明:[<>]表示可有可无 <>表示必须有

(1)属性的定义格式:
[<修饰符>] 类型 <属性名>[<=属性初始值>]

例:

private String name;
private int age = 21;

(2)构造器定义格式:
[<修饰符>] 类名 ([<参数列表>]){
[<代码>]
}

例:

public Person (String n) {
name = n;
}

(3)方法定义格式

[<修饰符>] <返回类型><方法名> ([<参数列表>]){
[<代码>]
}

例:

public void get () {
System.out.print(name);
}

(4)类的定义格式

[<修饰符>] class <类名> {
[<属性定义>]
[<构造方法定义>]
[<方法定义>]
}

例:

public class Person {
private String name;
private int age = 21;

public Person (String n) {
name = n;
}

public void get () {
System.out.print(name);
}
}


6.修饰符之间的区别

修饰符 内部类 同一包 子类中 其他
public
protected X
default X X
private X X X


本人才疏学浅,如有错误,请指出~
谢谢!