oop对象编程你知道吗?
类
成员变量
-
- 通过成员变量进行
保存数据
- 通过成员变量进行
构造方法
-
- 构造方法的
方法名
与类名
相同,没有
返回值
- 构造方法的
-
- 构造方法是在
new
关键字之后使用
- 构造方法是在
-
- 类中没有定义构造方式时,会
默认存在
一个无参构造方法
- 类中没有定义构造方式时,会
-
- 构造方法允许
重载
- 构造方法允许
静态方法
-
- 有
static
关键字修饰的方法
- 有
-
- 通过
类名和对象调用
- 通过
实例方法
-
- 没有
static
关键字修饰
- 没有
-
- 通过
对象
调用
- 通过
什么是:方法的重载?
- 1.在一个方法中,有相同的方法名,但是参数列表不同(类型不同,数量不同)
举例说明:
字符串的subString()
和Arrays.sort()
类的继承
-
- 定义子类时,通过
extends
关键字完成对父类的继承
- 定义子类时,通过
-
- 只能继承子类中
protected
和public
修饰的方法和成员变量
- 只能继承子类中
-
- 创建子类时,
必须调用父类
的构造方法
– 当父类是无参构造
时,是自动调用,无需显式调用,
– 当父类是有参构造
时,需要使用super()
,需要进行显式调用
- 创建子类时,
-
- Object类,所有引用类型(类,数组,枚举)的父类
– 常见的方法:
– 1. equals()
– 2. hashCode():按照当前对象的内存地址
,计算一个哈希值(int整型)
– 3. toString():将当前字符
转换为字符串
,默认输出为:类名+哈希值的16进制字符串
- Object类,所有引用类型(类,数组,枚举)的父类
问题:方法的重写
是什么?
-
- 子类中对父类的方法进行
重新定义
- 子类中对父类的方法进行
-
方法的名称
,方法的返回值
,方法的参数列表
,必须保持一致
举例说明:
- 在Object类中对equal()方法和,hashCode()的方法的重写
- String类中,对equal()方法进行了重写,是比较两个数值。
问题:== 和equals()
的区别?
-
==
是运行符,equals()
是Objec类中的方法
-
==
在基本数据类型中,比较的是数值
==
在引用类型中,比较的是内存地址
-
equals
在基本数据类型中
无法比较
equals
在引用类型中比较的是内存地址