类和对象,内存划分,构造器
面向对象
1. 面向对象初识
面向对象是一种软件开发方法,是把数据方法构造成一个整体,然后在更高层面进行系统建模,更贴近自然运行方式,符合高内聚,低耦合.
2. 面向对象和面向过程
面向过程主要是分步骤操作,每一步都分开写,改动的话改动每个步骤
面向对象是把一件事分类处理,分成大块进行操作,
面向对象和面向过程都是解决问题的思路,或者是程序设计范型,只是侧重点不同
面向对象的基础也是面向过程,只是面向对象把具体的实现细节给封装了,让外界无法直接获取
优点 :
易于维护,可扩展性,可重用性
3. 构造器
构造器:1.创建对象 2. 初始化成员属性
- 一个类中没有声明一个构造方法的话,就会有一个公共无参构造
- 定义构造方法以后,不管有参无参,都不会有这个公共无参构造
- 构造方法重载:方法名相同,参数列表不同(个数或类型不同)
- 语法:[权限修饰符] 类名(参数列表) {方法体}
- 成员方法的方法名可以和类型相同
- 成员方法和构造方法重名是=时,构造方法中没有返回值或void
4. 类和对象
对象
- 代码角度:new实例化某一类的实例,保存特有数据
- 数据角度:封装数据和逻辑的一种方法
- 现实生活:一切皆对象
- 设计角度:从一个实际的实体抽象某些属性的实体表示
类
对某一事物的既定印象,特征
通过类的属性,形成不同类 通过不同属性值形成不同对象
5.实例化
例Student s1= new Student();
- 载入对应的Studeng类到静态区
- new在堆内存中创建对象空间,把类中成员属性复制进去
- 调用构造方法,创建对象并初始化内存空间里的数据
- 返回内存空间地址并赋值给s1
6. 类的构成
7. 常见异常
不能调用没有的属性
引用类型默认值是null,所以引用类型可以赋值null
使用nul访问成员属性是会显示空指针异常
8. 构造方法重载
根据需求进行重载
9. JavaBean
- 变量私有化 (private)
- 有对应的setter/getter方法操作变量
- 无参构造和有参构造
- toString , eauals , hashCode方法覆写