继承练习1:学生和教师

/*

    版本V2.0:使用继承后
    学生:
        成员变量:姓名、年龄
        构造方法:无参
        成员方法:setXxx()/getXxx()
    老师:
        成员变量:姓名、年龄
        构造方法:无参
        成员方法:setXxx()/getXxx()
        //若用带参的构造方法初始化对象,继承的话,没有现在这种方式方便。因为子类不能继承父类的构造方法。
          可以怎么解决:
                父类中的带参构造方法:
                        public Person(String name, int age){
                            this.name= name;
                            this.age= age;
                        }
                这样在子类中写带参的构造方法,使用super(...)访问父类的构造方法:
                        public Student(String name, int age){
                            super(name, age); 
                        }

    抽取共性 ————> 类:人
    人:
        成员变量:姓名、年龄
        构造方法:无参
        成员方法:setXxx()/getXxx()

        学生 继承 人
        老师 继承 人 
*/
//人类
class Person{
    private String name;
    private int age;

    public Person(){}

    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;
    }

}
//学生类 继承人类
class Student extends Person{
    public Student(){}
}

//教师类 继承人类
class Teacher extends Person{
    public Teacher(){}
}

//测试类
class StuTeaExtendsTest{
    public static void main(String[] args){
        //创建学生对象测试
        Student s= new Student();
        s.setName("沈佳宜");
        s.setAge(18);
        System.out.println(s.getName()+"-"+s.getAge());

        //创建教师对象测试
        Teacher t= new Teacher();
        t.setName("兰姑");
        t.setAge(35);
        System.out.println(t.getName()+"-"+t.getAge()); 
    }   
}
//使用继承前
//学生类
class Student{
    private String name;
    private int age;

    public Student(){}

    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;
    }

}
//教师类
class Teacher{
        private String name;
    private int age;

    public Teacher(){}

    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;
    }
}
//测试类
class StudentTeacherTest{
    public static void main(String[] args){
        //创建学生对象测试
        Student s= new Student();
        s.setName("沈佳宜");
        s.setAge(18);
        System.out.println(s.getName()+"-"+s.getAge());

        //创建教师对象测试
        Teacher t= new Teacher();
        t.setName("兰姑");
        t.setAge(35);
        System.out.println(t.getName()+"-"+t.getAge()); 
    }
}

猜你喜欢

转载自blog.csdn.net/u013317445/article/details/81624859
今日推荐