-
类
(1)成员变量
通过成员变量保存数据
(2)构造方法
构造方法的方法名称与类名相同,并且没有返回值
创建对象时,在new关键字之后调用
**注意:当一个类中,没有定义构造方法时,会存在一个默认无参的构造方法;构造方法,允许重载。
(3)静态方法
通过static关键字修饰的方法
通过类名和对象调用
(4)实例方法(对象方法):通过对象(实例)调用
-
对象
按照类(类型),创建一个具体的"实例"
-
方法的重载
在同一个类中
一组相同名称方法的定义
方法的参数不同(个数不同、类型不同、顺序不同)
举例:
(1)字符串的subString()方法
(2)Arrays.sort()
-
类的继承
定义子类时,子类通过extends关键字完成对父类的继承
子类可以使用父类中的protected或public修饰的方法和成员变量
创建子类对象时,必须调用父类的构造方法
(1)当父类中存在“无参构造方法”时,子类可以“自动调用”,无需“显式调用”
(2)当父类中仅存在“有参构造方法”时,子类必须通过super关键字,“显式调用”父类有参构造方法
Object类
(1)所有“引用类型(类、数组、枚举)”的父类
(2)常见方法:
equals():比较两个对象是否“相等”(Object默认比较的是内存地址是否相等)
hashCode():按照当前对象的内存地址,计算一个int类型的整数值(哈希值)
toString():将当前对象,转换成String字符串,内容默认为类名+哈希值的16进制字符串
-
方法的重写
子类对父类中某个指定方法的覆盖定义(重新定义)
方法名称、参数列表、返回值要求与父类中重写的方法,完全一致。
举例:
(1)子类对Object类的toString()、hashCode()、equals()进行重写
(2)String类重写了equals()方法,进行两个字符串的内容比较
-
==和equals()的区别
== 是运算符、equals是Object类定义的方法
== 作为运算符:
**注意:基本数据类型比较“值”;引用数据类型比较“内存地址”
equals是Object类定义的方法:
**注意:基本数据类型"无法"使用;引用数据类型"可以"使用