面向对象编程(OOP)
**面向对象:**把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式
**类:**属性+方法;
- 面向对象编程本质:以类的方法组织代码,以对象的形式(封装)数据;
一、面向对象特性
- 封装
- 继承
- 多态
二、类与对象的关系
- 类是一种抽象的数据类型,它是对某一类事物整体的描述/定义,但是并不代表某一个具体的事物;
- 类是同一种事物的统称,是一个抽象的概念;
- 对象是对类的一个具体描述,是一个客观的实体;
- 对象是抽象概念的具体实例化;
- 类是用来创建对象模板;包含创建对象的属性和方法的定义;
三、 类
1.类的声明
[修饰符] class <类名> [extends 父类名称 ] [implements 接口列表]{ }
- 修饰符: public, abstract 和 final;
2. 类体
{ }
中的就为类体;由两部分组成:- 成员变量的定义;
- 成员方法的定义;
3. 成员变量和局部变量
- 成员变量:
[修饰符] [static] [final] <变量类型> <变量名>
; - 局部变量:
[final] <变量类型> <变量名>
; - 作用域:
- 成员变量:在类中声明,在整个类中有效;
- 局部变量:在方法内或方法内的复合代码块中声明;只在方法内或方法内的复合代码块中有效;
四、对象
1. 对象的创建
- 对象声明:
类名 对象名;
- 实例化对象:
对象名 = new 构造方法名([参数列表]);
2. 对象的使用
语法格式:
对象 . 成员变量
对象 . 成员方法()
注:Java中的参数传递都是值传递;
五、实例方法与类方法
方法类型前面不加
static
修饰的就是实例方法;反之使用static
修饰的就是类方法,也叫 静态方法;
注:
- 使用对象调用实例方法;
- 使用类名调用类方法;
- this关键字不能出现在类方法中;
六、包
1. 创建包
- 语法格式:
package 包名
2.使用包
- 加在包:
import 语句;