Java面向对象学习笔记(一)类和对象
1. 面向对象的程序设计
1.1 结构化程序设计的弊端
- 缺乏对数据的封装
- 数据和方法(对数据的操作)的分离
1.2 什么是类?什么是对象?
- 现实时间是由很多很多对象组成的,基于对象抽出了类
- 对象 : 真实存在的单个的个体 类 : 类型/类别,代表一类个体
- 类中可以包含:
- 所有对象所共有的属性/特征(静)----成员变量
- 所有对象所共有的行为(动)------------方法
- 一个类可以创建多个对象,同一个类型的多个对象,结构相同,数据不同
- 类是对象的模板,对象是类的具体的实例
2. 定义一个类
2.1 定义类的成员变量
-
语法
class 类名 { 修饰词 成员变量类型 变量名称; ... ... ... }
-
初始化成员变量的默认值
成员变量的类型 默认初始值 数值类型(byte/short/int/long/char/float/double) 0 boolean型 false 引用类型 null
2.2 定义类的方法
-
语法
class 类名 { 修饰词 返回值类型 方法名称(参数列表) { 方法体... ... } ... }
3. 创建并使用对象
3.1 使用new关键字创建对象
-
定义
- 类定义完成后,可以使用new关键字创建对象
- 创建对象的过程通常称为实例化
-
语法
new 类名();
3.2 引用类型变量
- 为了能够对实例化的对象访问控制,需要使用一个特殊的变量–引用
- 除了8种基本类型之外,用类、接口、数组等声明的变量都成为引用类型变量
Student s = new Student();
类 引用 指向 对象
3.3 通过引用访问对象的成员变量,调用方法
Student s = new Student();
//访问成员变量
s.name = "张三";
s.age = 25;
//调用方法
s.study();
s.sayHi();
3.4 引用类型变量的赋值
- 引用类型变量存储的是对象的地址信息
- 引用变量的赋值
- 使用new关键字
- 相同类型的引用类型变量之间相互赋值(可能导致2个以上的引用指向同一个对象)
3.5 引用类型之间画等号
- 指向同一个对象
- 对其中一个引用的修改会影响另一个引用
- 对比基本类型的画等号,仅仅做赋值
3.6 null : 空,没有指向任何对象,若引用则报空指针异常(NullPointerException)