/*
学生案例和老师案例讲解
学生:
成员变量;姓名,年龄
构造方法:无参,带参
成员方法:getXxx()/setXxx()
老师:
成员变量;姓名,年龄
构造方法:无参,带参
成员方法:getXxx()/setXxx()
*/
//定义学生类
class Student {
// 姓名
private String name;
// 年龄
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
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;
}
}
// 定义老师类
class Teacher {
// 姓名
private String name;
// 年龄
private int age;
public Teacher() {
}
public Teacher(String name, int age) {
this.name = name;
this.age = age;
}
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;
}
}
class ExtendsTest3 {
public static void main(String[] args) {
// 创建学生对象并测试
// 方式1
Student s1 = new Student();
s1.setName("程又青");
s1.setAge(27);
System.out.println(s1.getName() + "---" + s1.getAge());
// 方式2
Student s2 = new Student("程又青", 27);
System.out.println(s2.getName() + "---" + s2.getAge());
}
}
使用继承改进:
/*
学生案例和老师案例讲解
学生:
成员变量;姓名,年龄
构造方法:无参,带参
成员方法:getXxx()/setXxx()
老师:
成员变量;姓名,年龄
构造方法:无参,带参
成员方法:getXxx()/setXxx()
看上面两个类的成员,发现了很多相同的东西,所以我们就考虑抽取一个共性的类:
人:
成员变量;姓名,年龄
构造方法:无参,带参
成员方法:getXxx()/setXxx()
学生 继承 人
老师 继承 人
*/
//定义人类
class Person {
// 姓名
private String name;
// 年龄
private int age;
public Person() {
}
public Person(String name, int age) { // "林青霞",27
this.name = name;
this.age = age;
}
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;
}
}
// 定义学生类
class Student extends Person {
public Student() {
}
public Student(String name, int age) { // "林青霞",27
// this.name = name;
// this.age = age;
super(name, age);
}
}
// 定义老师类
class Teacher extends Person {
}
class ExtendsTest4 {
public static void main(String[] args) {
// 创建学生对象并测试
// 方式1
Student s1 = new Student();
s1.setName("李大仁");
s1.setAge(27);
System.out.println(s1.getName() + "---" + s1.getAge());
// 方式2
Student s2 = new Student("李大仁", 27);
System.out.println(s2.getName() + "---" + s2.getAge());
}
}