【小白系列之骐程3】类的继承
继承:
即生活中的包含关系;(大三学生继承于大学生,大学生继承于学生)
特点:
可以多层次继承(多少层都可以),但是每次只能继承一个
子类可以调用(继承)父类的属性和方法,不需要再定义属性,方法。
作用:
避免代码的重写
在程序中怎么做到继承关系?
类(结构)里面定义:属性:(特征)
方法:(行为)
继承:
关键字
(extends)
//格式
:publics class 子类(派生类)extends 父类(基类){
}
父类中的方法可以适用于子类,但是方法不一定适用子类,所以要重写子类中的方法,方法的定义不用改,直接改方法体即可
(方法的覆盖,方法重写)
两个条件:
1.重写发生在有继承关系的两个类之间,如果没有继承不能重写方法。
2.返回值类型,方法名,参数类型(个数,顺序)完全一样(重写才能覆盖之前的方法)
重写方法后会覆盖之前的方法,会执行重写之后的方法
代码示例:
//学生类
//1.类的结构
public class Student {
//属性(特征)
//定义学生的名字,分数属性
public String name;
public int score;
//方法(行为)
//学生的学习方法
public void study(){
System.out.println(name+"正在学习,现在的分数是"+score);
}
}
####################
//大学生类
//继承:extends 单继承,多层次的继承
//public class 子类(派生类) extends 父类(基类){}
//子类会继承父类中的属性和方法
public class UNStudent extends Student{
//方法重写(覆盖)
//1.有继承关系的两个类之间 2.返回值类型,方法名,参数类型(个数,顺序)完全一样
public void study(){
System.out.println("子类重写父类的学习方法!");
}
}
########################
public class Manage {
public static void main(String[] args){
UNStudent un = new UNStudent();
un.name = "张超";
un.score = 98;
un.study();
}
}