构造方法的重载,只需要看参数即可。
如果在一个构造方法中调用另一个构造方法,那么可以使用this()这句代码来调用。
this()括号中的参数是目标构造方法的参数。
this()必须要作为构造方法的第一条语句,在构造方法内this()之前不能有可执行的代码。
继承 inheritence
继承的定义
Java中是单继承。意味着一个类只能从另一个类继承。
被继承的类被称为父类。
继承的关键字:extends
当生成子类的对象的时候,java默认,先调用父类的不带参数构造方法,然后执行该构造方法,生成父类的对象。接下来,再调用子类的构造方法,生成子类的对象。
要想生成子类的对象,必须先生成父类的对象。
没有父类的对象,就没有子类的对象。
Super关键字
如果非要运行父类特定的构造方法,可以使用super关键字表示对父类对象的引用。
This关键字表示对子类对象的引用。
Super也必须要作为构造方法的第一条语句。
关于继承的特性:
父类有的,子类也有
父类没有的,子类也可以有
父类有的,子类可以改变
关于继承的注意事项:
A)构造方法不能被继承。
B)方法和属性可以被继承
C)子类的构造方法隐式地调用父类的不带参数的构造方法
D)当父类有没有不带参数的构造方法时,子类需要使用super来显式地调用父类的构造方法,super是对父类的引用。
E)super关键字必须是构造方法中第一行语句。
方法重写:又叫做覆写,子类和父类的方法返回类型一样,方法名称一样,参数一样,这样我们说子类和父类的方法构成了重写关系。
方法重写与方法重载之间的关系:
重载发生在同一个类内部的两个或者多个方法。重写发生在父类与子类之间。
当两个方法形成重写关系时,可以在子类方法中通过super.run()形式调用父类的方法,其中super.run()不必放在第一行语句,因此此时父类对象已经构造完毕,先调用父类的run()方法还是先调用子类的run()方法时根据程序的逻辑决定的。
在定义一个类的时候,如果没有显式的指定该类的父类,那么该类就会继承与java.lang.Object类(jdk提供的一个类,Object类是java中所有类的直接或者间接父类)。
Java.SE.第十九讲.多态详解
多态:父类型的引用可以指向子类的对象。但是它的类型是父类型的。
Parent p = new Child();当使用多态方式调用方法的时候,首先检验父类中是否有sing()方法,如果没有,则编译错误;如果有,则调用子类的sing()方法。
一共有两种类型的强制类型转换:
向上的类型转换(upcast):比如说将cat类型转换为animal类 型,即将子类型转换为父类型。对于向上类型转换,不需要显式指定。
向下类型转换:比如将animal类型转化为cat类型。即将父类型转化为子类型。对于向下类型转化,必须要显示指定(必须要使用强制类型转化)。
如果在一个构造方法中调用另一个构造方法,那么可以使用this()这句代码来调用。
this()括号中的参数是目标构造方法的参数。
this()必须要作为构造方法的第一条语句,在构造方法内this()之前不能有可执行的代码。
继承 inheritence
继承的定义
Java中是单继承。意味着一个类只能从另一个类继承。
被继承的类被称为父类。
继承的关键字:extends
当生成子类的对象的时候,java默认,先调用父类的不带参数构造方法,然后执行该构造方法,生成父类的对象。接下来,再调用子类的构造方法,生成子类的对象。
要想生成子类的对象,必须先生成父类的对象。
没有父类的对象,就没有子类的对象。
Super关键字
如果非要运行父类特定的构造方法,可以使用super关键字表示对父类对象的引用。
This关键字表示对子类对象的引用。
Super也必须要作为构造方法的第一条语句。
关于继承的特性:
父类有的,子类也有
父类没有的,子类也可以有
父类有的,子类可以改变
关于继承的注意事项:
A)构造方法不能被继承。
B)方法和属性可以被继承
C)子类的构造方法隐式地调用父类的不带参数的构造方法
D)当父类有没有不带参数的构造方法时,子类需要使用super来显式地调用父类的构造方法,super是对父类的引用。
E)super关键字必须是构造方法中第一行语句。
方法重写:又叫做覆写,子类和父类的方法返回类型一样,方法名称一样,参数一样,这样我们说子类和父类的方法构成了重写关系。
方法重写与方法重载之间的关系:
重载发生在同一个类内部的两个或者多个方法。重写发生在父类与子类之间。
当两个方法形成重写关系时,可以在子类方法中通过super.run()形式调用父类的方法,其中super.run()不必放在第一行语句,因此此时父类对象已经构造完毕,先调用父类的run()方法还是先调用子类的run()方法时根据程序的逻辑决定的。
在定义一个类的时候,如果没有显式的指定该类的父类,那么该类就会继承与java.lang.Object类(jdk提供的一个类,Object类是java中所有类的直接或者间接父类)。
Java.SE.第十九讲.多态详解
多态:父类型的引用可以指向子类的对象。但是它的类型是父类型的。
Parent p = new Child();当使用多态方式调用方法的时候,首先检验父类中是否有sing()方法,如果没有,则编译错误;如果有,则调用子类的sing()方法。
一共有两种类型的强制类型转换:
向上的类型转换(upcast):比如说将cat类型转换为animal类 型,即将子类型转换为父类型。对于向上类型转换,不需要显式指定。
向下类型转换:比如将animal类型转化为cat类型。即将父类型转化为子类型。对于向下类型转化,必须要显示指定(必须要使用强制类型转化)。