一个子类保存了父类的所有属性,方法,叫做继承。
主要提高代码的复用性。
比如第一个类中有如下属性:
第二个类也有如下属性。
除了方法不一样。
Pupil类中的方法如下:
Graduate类中的方法如下:
为了提高代码的复用性,因此我们需要继承。
继承语法如下:
class 子类 extends 父类{
}
这样这个子类就继承了父类的所有属性和方法。
比如如下的继承图:
Student代码如下:
- package com.csmz.extend.firstTest;
-
- public class Student{
- // 属性
- public String name;
- public int age;
- public double score;
-
- // 方法
- public void setAge(int age) {
- this.age = age;
- }
-
- public void setName(String name) {
- this.name = name;
- }
- public void setScore(double score)
- {
- this.score = score;
- }
-
-
- }
-
-
继承类:graduate 代码如下:
- package com.csmz.extend.firstTest;
- //大学生类。
- public class Graduate extends Student{
-
-
- public void showInfo()
- {
- System.out.println("the Graduate "+this.name +" he age is " +this.age + " score is ::"+ +this.score);
- }
-
- }
继承类:pupil 代码如下:
- package com.csmz.extend.firstTest;
- //小学生类。
- public class Pupil extends Student{
-
- public void showInfo()
- {
- System.out.println("the Pupil "+this.name +" he age is " +this.age + " score is :: "+ +this.score);
- }
-
- }
主类代码。
- import com.csmz.extend.firstTest.Student;
- import com.csmz.extend.firstTest.Pupil;
- import com.csmz.extend.firstTest.Graduate;
-
- public class main {
- public static void main(String[] args) {
- // System.out.println("extends");
- Pupil pupil = new Pupil();
- pupil.setAge(10);
- pupil.setName("Bob");
- pupil.setScore(59);
- pupil.showInfo();
-
- Graduate graduate = new Graduate();
- graduate.setAge(20);
- graduate.setName("stayter");
- graduate.setScore(10);
-
- graduate.showInfo();
-
- }
-
- }
执行结果如下:
the Pupil Bob he age is 10 score is :: 59.0
the Graduate stayter he age is 20 score is ::10.0
总结:通过继承可以继承已经有的类的一些属性和方法,从而提高代码的复用性,所以子类只需要编写它特殊的方法或者是特殊的属性就可以了。