java的三大特性之一继承概述
0.继承-----注意事项
00.子类最多只能继承一个父类(指直接继承)
01.java所有的类都是Object的子类
02.JPK6.0中有202个包3777个类,接口,异常,枚举,注释和错误
03.在做开发的时候强烈建议多查jdk帮助文档
04.在使用类是,实在不知道怎么办。多问google大神。
05.super()默认调用父类的无参数构造,必须是子类构造方法中的第一条语句。
06.实例化子类对象,默认会先执行父类的无参数构造时,使用spuer(参数)重复调用父类中的有参数构造,会默认直接调用父类中的有参数构造,不会调用父类中的无参数构造。
Object类的重写
Object类是所有类的父类。在java中,所有的java类都直接或者间接的继承了java.lang.Object类。Object类是所有java类的祖先。在定义一个类时,没有使用extends关键字,也就是没有显示地继承某个类,那么这个类直接继承Object类。所有对象都继承这个类的方法。
Object类定义了大量的可被其他类继承的方法,下表:
方法 | 说明 |
toString() | 返回当前 本身的有关信息,按字符串对象返回 |
equals() | 比较两个对象是否是同一个对象,若是,返回true |
clone() | 生成当前对象的一个副本,并返回 |
hashCode() | 返回该对象的哈希代码值 |
getClass() | 获取当前对象所属的类信息,返回Class对象 |
instanceof
instanceof操作符由于判断一个 引用类型所引用的对象是否是一个类的实例
方法重载的概念
简单的说;方法重载就是类的同一种功能的多种实现方式,到底采用哪种方式,取决于调用者给出的参数。
注意事项:
00.方法名相同
01.方法的参数类型,个数,顺序至少有一项不同
方法的覆盖:
00.子类的方法返回值类型,参数,方法名称,要和父类方法的返回类型,参数,方法名称完全一样,否则编译出错。
01.子类方法不能缩小父类方法的访问权限。
抽象类和抽象方法
00.抽象类不能被实例化
01.可以有0~多个抽象方法
02.非抽象类必须重写父类的所有抽象方法
final修饰符
00.修饰的类,不能再被继承
01.修饰的方法,不能被子类重写
02.修饰的变量将变成常量,只能在初始化时进行赋值。
abstract也可以用于方法--------抽象方法
00.抽象方法没有方法体
01.抽象方法必须在抽象类里
02.抽象方法必须在子类中被实现。除非子类是抽象类。
03.抽象方法只有方法声明,没有方法实现。有抽象方法的类必须声明为抽象类。子类必须重写所有的抽象方法才能实例化,否则子类还是一个抽象类。