这里写自定义目录标题
第12章 继承
01 练习
02 继承
Java中通过继承一个类,来继承此类的所有功能。
Java中的每一个类都继承于Object,当创建一个类时,会自动的继承Object类的所有方法。
例一
package com.day10;
class Foo {
}
public class Day102 {
public static void main(String[] args) {
Foo f = new Foo();
//toSring方法继承于Object
System.out.println(f.toString());
System.out.println(f.hashCode());
}
}
tips:
Ctrl + Shift + T --> open type
Object:
按Ctrl + o
找到toString方法
hashCode
例二
instanceof关键字用于判断一个对象是否是这个类型
例三
package com.day10;
class Foo {
}
public class Day102 {
public static void main(String[] args) {
Foo f = new Foo();
//toSring方法继承于Object
System.out.println(f.toString());
System.out.println(f.hashCode());
// //instanceof关键字用于判断一个对象是否是这个类型
// if(f instanceof Object) {
// System.out.println("Foo 继承于Ojbect");
// }
//f是Object类的实例
System.out.println(f instanceof Object); //true
//f是Foo类的实例
System.out.println(f instanceof Foo); //true
}
}
-------Console--------------
com.day10.Foo@1db9742
31168322
true
true
例四
package com.day10;
class Actor {
public void act() {
System.out.println("act");
}
}
//Hero继承于Actor
class Hero extends Actor {
public void fight() {
System.out.println("fight");
}
}
public class Day103 {
public static void main(String[] args) {
Hero h = new Hero();
//act方法继承于Actor
h.act();
//fight方法继承于自己
h.fight();
}
}
-------Console--------
act
fight
例五
Object类位于java.lang包中,它定义和实现了所有类的通用功能。
例子:
package com.day10;
//演员
class Actor {
public void act() {
System.out.println("act");
}
}
//英雄
//Hero继承于Actor
class Hero extends Actor {
public void fight() {
System.out.println("fight");
}
}
//喜剧演员
class Comedian extends Actor {
public void performComedy(){
System.out.println("comedy");
}
}
public class Day103 {
public static void main(String[] args) {
Hero h = new Hero();
//act方法继承于Actor
h.act();
//fight方法继承于自己
h.fight();
System.out.println(h instanceof Hero);