案例1: package package1; public class Demo6 { public static void main(String[] args) { B b=new B(); b.shwoB();//此處調用的是子類中的showB方法 } } class A{ public void shwoA() { System.out.println("A"); } //當父類中的方法與子類方法同名時 public void shwoB() { System.out.println("父類中的showB方法"); } } class B extends A{ //構造方法 public B() { //調用父類的無參構造方法,能夠省略 super(); System.out.println("b的構造方法"); } public void shwoB() { System.out.println("B"); //子類調用父類 shwoA(); //或者 super.shwoA(); } } 案例2: package package1; public class Demo6 { public static void main(String[] args) { JavaTeacher javaTeacher=new JavaTeacher("張三","人民大學"); javaTeacher.teaching(); DBTeacher dbTeacher=new DBTeacher("王五","清華大學"); dbTeacher.teaching(); } } class Teacher{ private String name; private String school; public Teacher(String name,String school) { this.name=name; this.school=school; } //此方法爲JavaTeacher和DBTeacher共有的部分,抽取出來 public void teaching() { System.out.println("授課前的準備"); } } class JavaTeacher extends Teacher{ public JavaTeacher(String name, String school) { //調用父類帶參數的構造方法,初始化參數值 super(name, school); } public void teaching() { //調用公共方法,父類方法 super.teaching(); System.out.println("打來eclips"); System.out.println("書寫java代碼"); } } class DBTeacher extends Teacher{ public DBTeacher(String name, String school) { //調用父類帶參數的構造方法,初始化參數值 super(name, school); } public void teaching() { System.out.println("打開orcale"); System.out.println("建立數據庫"); } } 案例3: package package1; public class Demo8 { public static void main(String[] args) { Student stu=new Student("張三", 20); System.out.println(stu.toString()); Student stu1=new Student("李四", 20); System.out.println(stu.equals(stu1)); } } //寫不寫Object都同樣都會繼承Object class Student extends Object{ private String name; private int age; public Student(String name,int age){ this.name=name; this.age=age; } //重寫Object類中的equals方法 public boolean equals(Object obj) { //本身跟本身比 if(this==obj) { return true; } if(obj==null) { return false; } if(this.getClass()!=obj.getClass()) { return false; } Student student=(Student) obj; if(this.age!=age) { return false; } if(this.name==null) { if(student.name!=null) { return false; } }else if(this.name.equals(student.name)){ return false; } return true; } }