案例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; } }