super 父类对象,发生继承
1)从类向上追溯 找属性找方法
2)创建子类一定会创建父类,默认调用父类的空构造 相当super()。显式调用super([实参])
作用:
1)、super.属性 -->使用父类属性,经常使用在父类与子类定义同名的属性,为了区分
2)、super.方法 -->当方法发生了重写,显式的调用父类的该方法
3)、super([实参]):只能写在子类的构造器的首行,用于显式调用指定父类的构造器
super与this 区别
1、代表对象:this 本对象 super父对象
2、属性: this 本类属性,本类没有向上追溯
super 父类属性,父类没有从父类向上追溯
3、方法:this 本类方法,本类没有向上追溯
super 父类方法,父类没有从父类向上追溯
4、构造器:this([实参]) 用于本类构造器重载相互调用,只能出现构造器首行
super([实参]) 用于子类构造器显式调用父类构造器,只能出现在子类构造器首行
不能在构造器中同时使用this([实参]) super([实参])。子类构造器一定会调用父类构造器,要么显式调用
要么隐式调用
5、单独使用 this可以单独使用 super不能单独使用
Object 基类
当类的对象需要放入容器中,一般需要重写
1、toString() :将对象转成字符串
System.out.println(对象); //不用对象.toString() 避免null
2、hashCode() :地址的转换码,计算规则
a)内容相同的哈希码一定相同
b)内部不同的哈希码可能相同也可能不同
3、equals : Object 比较地址 与 ==作用相同
当子类对其进行重写,按重写逻辑而定,常用于比较内容,如String
final
1、final +变量(局部|属性) ——> 常量: 没有默认值
特点:值(内容、地址)一旦确定不可改变,如果是引用类型,对象的内容可以改变。
全局常量 public static final
2、final +方法 -->该方法不能子类重写
3、final +类 -->该类不能被继承
1)从类向上追溯 找属性找方法
2)创建子类一定会创建父类,默认调用父类的空构造 相当super()。显式调用super([实参])
作用:
1)、super.属性 -->使用父类属性,经常使用在父类与子类定义同名的属性,为了区分
2)、super.方法 -->当方法发生了重写,显式的调用父类的该方法
3)、super([实参]):只能写在子类的构造器的首行,用于显式调用指定父类的构造器
super与this 区别
1、代表对象:this 本对象 super父对象
2、属性: this 本类属性,本类没有向上追溯
super 父类属性,父类没有从父类向上追溯
3、方法:this 本类方法,本类没有向上追溯
super 父类方法,父类没有从父类向上追溯
4、构造器:this([实参]) 用于本类构造器重载相互调用,只能出现构造器首行
super([实参]) 用于子类构造器显式调用父类构造器,只能出现在子类构造器首行
不能在构造器中同时使用this([实参]) super([实参])。子类构造器一定会调用父类构造器,要么显式调用
要么隐式调用
5、单独使用 this可以单独使用 super不能单独使用
Object 基类
当类的对象需要放入容器中,一般需要重写
1、toString() :将对象转成字符串
System.out.println(对象); //不用对象.toString() 避免null
2、hashCode() :地址的转换码,计算规则
a)内容相同的哈希码一定相同
b)内部不同的哈希码可能相同也可能不同
3、equals : Object 比较地址 与 ==作用相同
当子类对其进行重写,按重写逻辑而定,常用于比较内容,如String
final
1、final +变量(局部|属性) ——> 常量: 没有默认值
特点:值(内容、地址)一旦确定不可改变,如果是引用类型,对象的内容可以改变。
全局常量 public static final
2、final +方法 -->该方法不能子类重写
3、final +类 -->该类不能被继承