继承
java中类只支持单继承,不支持多继承
Java中类支持多层继承
public class Father extends Granddad {
public void smoke(){
System.out.println("爸爸爱抽烟");
}
}
public class Mother {
public void wash(){
System.out.println("妈妈爱洗澡");
}
}
public class Granddad {
public void drink(){
System.out.println("爷爷爱喝酒!");
}
}
/*
public class Son extends Father ,Mother {
不支持多层继承
}*/
public class Son extends Father{
}
案例老师和学生
需求:定义老师类和学生类,然后写代码测试,最后 找到老师类和学生类当中的共性内容,抽取一个父类,用继承的方式改写代码,并进行测试。
1.书写共同类
public class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
2.定义老师类
public class Teacher extends Person{
public Teacher(){
}
public Teacher(String name,int age){
super(name,age);
}
public void teach(){
System.out.println("用爱成就每一个学生!");
}
}
3.定义学生类
public class Student extends Person{
public void study(){
System.out.println("好好学习!");
}
}
4.测试类
public class Persondemo {
public static void main(String[] args) {
Teacher t1=new Teacher();
t1.setName("林青霞");
t1.setAge(30);
System.out.println(t1.getName() +","+t1.getAge() );
t1.teach() ;
Teacher t2=new Teacher("黄晓明",29);
System.out.println(t2.getName() +","+t2.getAge() );
Student s1=new Student();
s1.setName("小红");
s1.setAge(20);
System.out.println(s1.getName() +","+s1.getAge() );
s1.study() ;
}
}
运行结果:
林青霞,30
用爱成就每一个学生!
黄晓明,29
小红,20
好好学习!
Process finished with exit code 0