Java继承入门
继承:extends
extend原意:扩展,延长,持续,包括,波及
继承规则:
第一:一个子类只能直接继承一个父类,不能继承多个父类
Person父类:
public class Person {
public String name;
public int age;
public char sex;
public Person(String name) {
this.name = name;
}
public Person() {
}
public Person(String name, int age, char sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getSex() {
return sex;
}
}
子类student
public class Student extends Person{
private String id;
private String address;
private Report report;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Override
public void play(){
System.out.println("运动");
}
public Student(){
}
public Student(String name, String id) {
super(name);
this.id = id;
}
public Report getReport() {
return report;
}
public void setReport(Report report) {
this.report = report;
}
public Student(String id) {
this.id = id;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Student(String name, String id, int age, char sex, String address) {
super(name, age, sex);//还要实验super
this.id = id;
this.address= address;
this.name=name;
this.sex=sex;
this.age =age;
}
public Student(String name, String id, int age, char sex, String address,Report report) {
super(name, age, sex);//还要实验super
this.id = id;
this.address= address;
this.name=name;
this.sex=sex;
this.age =age;
this.report = report;
}
public Student(String name, String id, Report report) {
super(name);
this.name=name;
this.id = id;
this.report = report;
}
}
第二:可以多层继承(间接继承)
名称 | 关系 |
---|---|
人(Person) | 父类 |
学生(Student) | Person的子类,UniversityStudent的父类 |
大学生(UniversityStudent) | 学生(Student)的子类 |
明显UniversityStudent的父类只是Student,在Student类里并没有name,sex等属性,
但UniversityStudent类却能够使用到Person里的属性, 所以子类UniversityStudent是可以间接继承(多层继承)到上上级父类Person
public class UniversityStudent extends Student{
public UniversityStudent() {
}
//在这个类里并没有定义属性,却能够继承来自Person类里的name、id等属性。
public UniversityStudent(String name, String id) {
super(name, id);
}
public UniversityStudent(String id) {
super(id);
}
public UniversityStudent(String name, String id, int age, char sex, String address) {
super(name, id, age, sex, address);
}
public UniversityStudent(String name, String id, int age, char sex, String address, Report report) {
super(name, id, age, sex, address, report);
}
public UniversityStudent(String name, String id, Report report) {
super(name, id, report);
}
}
版权声明:本文为m0_49191104原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。