DAY_07【2021.3.30】类,对象,内存划分,
1、面向对象
1.1概述
1.2面向对象和面向过程
面向过程:侧重分步骤
面向对象:侧重分类/模块
1.3构造器
1.创建对象2、初始化成员属性
语法:
【权限修饰符列表】 类名(参数列表){}
注意 没有返回值(连void都没有)
1.4类和对象
对象:
代码角度:new的实例化某一个类的实例,用来保存特有的数据
数据角度:封装数据和逻辑的一种方式
现实生活角度:对象就是具体的某个事物。一切皆对象
设计角度:从一个实际的实体抽象的某些属性的一种实体表示
类:
概念:是我们再思想上对某个东西或某一类东西的唯一性标识,描述某一类的特征
1.5实例化
1、载入对应的类到静态区
2、new会在堆内存创建对象空间,并把类中成员属性赋值进去
3、调用构造方法,初始化内存空间数据
4、返回内存空间地址,赋值变量
1.6类的构成
类中可以有什么:
1、成员变量:类体中没有static修是的变量,是每个对象共有的属性,保存在堆内存
2、静态变量:类体中加static修饰的变量,是每个对象共有的属性和值,保存在静态区
3、局部变量:方法内部,如果多个方法需要访问相同的属性,则提升为静态/成员变量
4、静态变量:类级别,通过类名访问
5、成员方法:对象级别,每个对象的方法
6、构造方法:用于创建类的实例,对象的方法
7、main方法入口:JVM自动调用
8、抽象方法:没有方法体,需要使用abstract修饰
9、静态语句块:没有名字的一个{},需要加static
10、动态语句块:没有名字的一个{},不需要加static
11、this:表示当前对象,相当于 我 一样
12、super:表示父类
1.7常见异常
空指针异常:
使用null值,访问成员属性
1.8 JavaBean
1、变量私有化
2、有对应的getter和setter方法,用于操作变量
3、无参构造和有参构造
4、toString,equals,hashCode等方法覆写