继承
在java中可以通过继承提高代码的复用率。
例如A继承了B,就可以是
例如,首先有一个类似Person,这个类中有有一些属性和方法,我们再新建一个Student类,其中有一部分属性和方法与Person类中的相同,这个我们就可以通过继承来提高代码复用率。
1 package cn.hcf.pro3; 2 3 4 5 public class TestExtends{ 6 public static void main(String[] args){ 7 Student stu = new Student(); //Student继承Person,Person也称为Studen的父类,反之,Student称为Person的子类。java中只有单继承,即一个子类只能有一个父类 8 stu.name = "huangChagnfan"; //name也是继承Person的。 9 System.out.println(stu.name); 10 stu.study(); 11 stu.rest(); //rest方法是继承Person的 12 } 13 } 14 15 class Person{ //在Person类中有name和rest()的方法 16 String name; 17 void rest(){ 18 System.out.println("休息一下"); 19 } 20 } 21 22 class Student extends Person{ //学生也具有name属性,和rest的方法,这时我们通过继承Person类 23 void study(){ //Student类也就有了Person类的所有属性和方法。 24 System.out.println("学习"); //除了继承Person类的属性和方法之外,Student还可以拥有自己的属性和方法。 25 } 26 public Student(){ //无参的构造方法,可加可不加。 27 28 } 29 }
运行结果:
huangChangfan
学习
休息一下
子类方法的重写
子类继承父类的方法后,可以通过重写父类的方法,来替代父类原有的方法。
1 package cn.hcf.pro3; 2 3 public class TestExtends{ 4 public static void main(String[] args){ 5 Student stu = new Student(); 6 stu.task(); //此时子类中的方法是重写后的方法。 7 } 8 } 9 10 class Person{ 11 String name; 12 void task(){ 13 System.out.println("工作"); 14 } 15 } 16 17 class Student extends Person{ 18 void task(){ 19 System.out.println("学习"); //子类继承了父类的task()方法后,又重写了task()方法。 20 } 21 }
运行结果:
学习