有的类属性和方法是相同的,可以使用继承解决代码复用的问题。
当多个类存在相同的属性和方法时,可以从这些类中抽象出父类,在父类(基类)中定义这些相同的属性和方法,所有的子类(派生类)不需要重新定义这些属性和方法,只需要extends来声明继承父类即可。
继承的基本语法:
class 子类 extends 父类{
}
package com.extend_.improve;
//是pupil和graduate的父类
public class students {
//下面是共有的属性和共有的方法
public String name;
public int age;
public double grades;
public void showInfo(){
System.out.println(name+" "+age+" "+grades);
}
}
package com.extend_.improve;
//pupil小学生为一个子类
public class Pupil extends students{
public void testing(){
System.out.println("小学生"+name+"正在考数学!");
}
}
package com.extend_.improve;
//大学生为子类,继承students类,注意书写格式
public class Graduate extends students{
public void testing(){
System.out.println("大学生"+name+"正在考数学!");
}
}
package com.extend_.improve;
public class Extends01 {
public static void main(String[] args) {
com.extend_.improve.Pupil p1 = new Pupil();
p1.name = "张三";
p1.age = 12;
p1.grades = 98;
p1.showInfo();
p1.testing();
com.extend_.improve.Graduate G1 = new Graduate();
G1.name = "李四";
G1.age = 20;
G1.grades = 99;
G1.showInfo();
G1.testing();
}
}
- 子类继承了所有的属性和方法,非私有的属性和方法可以直接访问,但是私有的属性和方法不能在子类直接访问,要通过公共的方法去访问。
例如上例中,把grades化为private。则不能直接访问。需要父类提供公共方法去访问。



