面向对象
- 面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。
- 、面向对象:强调具备功能的对象,以类/对象为最小单位,考虑谁来做;
- 面向对象的三大基本特征:
- 封装性:概念:封装性就是尽可能的隐藏对象内部细节,对外形成一道边界,只保留有限的接口和方法与外界进行交互。封装的原则是使对象以外的部分不能随意的访问和操作对象的内部属性,从而避免了外界对对象内部属性的破坏
访问权限:
-
-
- private:类中限定为private的成员,只能被这个类本身访问。如果一个类的构造方法声明为private,则其它类不能生成该类的一个实例。
- default:类中不加任何访问权限限定的成员属于缺省的(default)访问状态,可以被这个类本身和同一个包中的类所访问。a
- protected:类中限定为protected的成员,可以被这个类本身、它的子类(包括同一个包中以及不同包中的子类)和同一个包中的所有其他的类访问。
- public:类中限定为public的成员,可以被所有的类访问。
-
-
- 继承性:子类的对象拥有父类的全部属性与方法,称作子类对父类的继承。
- 多态性:
面向对象的两个要素:
- 类:对一类事物的描述,是抽象的,是概念上的定义;
- 对象:是实际存在的该类事物的每一个个体;
(面向对象程序设计的重点是类的设计,设计类,就是设计类的成员。)
(黑马:类是对象的描述,对象是类的实体)
一:设计类:其实就是设计类的成员:
属性=成员变量=field=域/字段;
方法=成员方法=函数=method
二:类和对象的使用:
-
- 创建类,设计类的成员;
- 创建类的对象;
- 通过“对象.属性”或“对象.方法”调用类的结构;
类的组成
类=成员变量+成员方法
类中属性的使用
属性(成员变量)vs局部变量
- 相同点:
1.1:定义变量的格式:数据类型 变量名=变量值
1.2先声明,后使用
1.3变量都有其对应的作用域
- 不同点:
2.1在类中声明的位置的不同
属性:直接定义在类中的一对{}内;
局部变量:声明在方法内、方法新参、代码块内
2.2默认初始化的情况
属性:类的属性,根据类型,都有默认初始化值
整型:(byte、short、int、long):0
浮点型:(float、double):0.0
字符类型(char):0
布尔值(boolean):false
局部变量:没有默认初始化值。
意味着,我们在调用局部变量之前一定要显式赋值。
特别地:形参在调用时,我们赋值即可;
补:内存中位置不同:成员变量(堆内存),局部变量(栈内存)
类中方法的声明和使用
- 方法的声明:权限修饰符 返回值类型 方法名(形参列表){方法体}
-
- 说明:2.1:关于权限修饰符
2.2:返回值类型:有返回值 VS 没有返回值
有返回值:在方法声明时,指定放回类型,同时,方法中,需要使用return关键字来返回指定类型的变量或常量
没有返回值:在方法声明时,使用void来表示。通常,没有返回值的方法中,就不使用return,但是,如果使用的话,只能“return;"表示结束此方法的意思。
3.在方法的使用中,可以调用当前的属性或方法;方法当中不能再定义一个放法。