标题:
面向对象语言特性之继承(3)
[打印本页]
作者:
look_w
时间:
2019-3-3 19:36
标题:
面向对象语言特性之继承(3)
方法的重写
在子类中根据自身需要对从父类继承来的方法进行重新编写,称为方法的重写,或是方法的覆盖(overriding)。
final 关键字声明类可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写。
方法重写必须满足以下要求:
方法名必须相同
参数列表必须相同
返回值类型相同或是其子类
访问权限不能严于父类
父类的静态方法不能被子类重写为非静态方法
子类可以定义与父类同名的静态方法以隐藏父类
父类私有方法不能重写(都不能继承)
不能抛出比父类更多的异常
方法重写与方法重载的区别:
方法重写是在父子类中的同名方法,而且参数列表要相同,返回值类型也要相同
方法重载是在同一个类中,同名不同参,与返回值无关
Object类
Object类的部分方法 说明
toString( ) 返回当前对象的有关信息,一个字符串对象
equals( ) 比较两个对象是不是同一个对象,比较的是指针当(对象的内存地址),返回boolean值
clone( ) 生成当前对象的一个副本,并返回
hashCode( ) 返回当前对象的哈希代码值,默认为对象的32位内存地址
getClass( ) 获取当前对象的所属类的信息,返回class对象
Object类是所有类的父类。在JAVA中,所有的JAVA类都直接或者间的继承了java.lang.Object类。在定义一个类时,如果没有显示继承某个类,那么这个类就直接继承Object类,所有对象都继承这个类的方法。
Object类的部分方法 说明
toString( ) 返回当前对象的有关信息,一个字符串对象
equals( ) 比较两个对象是不是同一个对象,比较的是指针当(对象的内存地址),返回boolean值
clone( ) 生成当前对象的一个副本,并返回
hashCode( ) 返回当前对象的哈希代码值,默认为对象的32位内存地址
getClass( ) 获取当前对象的所属类的信息,返回class对象
注意:Object类equals( )方法比较的是两个对象的引用或者说地址,String类重写了equals( )方法,比较的是两个对象的值
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0