黑马程序员技术交流社区

标题: 继承和构造函数的实际应用 [打印本页]

作者: 小穿钉    时间: 2015-10-31 09:06
标题: 继承和构造函数的实际应用


//需求:1.设计一个学生类Student,其属性有姓名、年龄、学位,方法是打印基本信息。
              2.设计子类本科生类,添加属性专业,方法是打印出所有的信息。
             3.设计子类研究生类,添加属性研究方向,并打印出所有的基本信息。
             4.设计测试主类。




作者: 小穿钉    时间: 2015-10-31 09:08
package cn.com.student;
/**
* 学生类中含有属性有姓名,年龄,学位,show()方法打印出学生的基本信息
* @author Administrator
*
*/
public class Student {
        String name;
        int age;
        String degree;
        //构造方法
        public Student(String name,int age,String degree){
                this.name=name;
                this.age=age;
                this.degree=degree;
        }
        //打印出学生的基本信息
        public void show(){
                System.out.println("学生的基本信息有:"+"姓名:"+name+"年龄:"+age+"学位:"+degree);
        }
}



作者: 小穿钉    时间: 2015-10-31 09:09
package cn.com.student;
/**
* 增加属性specially专业,同样有show ()方法
* @author Administrator
*
*/
public class Undergraduate extends Student{
        String specially;
        public Undergraduate(String name,int age,String degree,String specially){
                //调用父类的构造方法
                super(name,age,degree);
                this.specially=specially;
        }
        //重写父类show()方法,多输出一项信息:专业
        public void show(){
                super.show();
                System.out.println("专业为"+specially);
        }
}



作者: 小穿钉    时间: 2015-10-31 09:10
package cn.com.student;
/**
* 增添属性研究方向,并重写show()方法
* @author Administrator
*
*/
public class Graduate extends Student{
                String direction;
                public Graduate(String name,int age,String degree,String direction){
                        //调用父类的构造方法
                        super(name,age,degree);
                        this.direction=direction;
                }
                //重写父类的show()方法
                public void show(){
                        super.show();
                        System.out.println("研究方向为"+direction);
                }

        }




作者: 小穿钉    时间: 2015-10-31 09:12
package cn.com.student;
/**
* 测试主类
* @author Administrator
*
*/
public class Test {
        public static void main(String[] args){
                Undergraduate u=new Undergraduate("李四",23,"本科","计算机");
                //调用子类的show()方法,打印出本科生的所有信息
                u.show();
                Graduate g=new Graduate("张丽",24,"本科","会计");
                //调用子类的shhow()方法,打印出研究生的所有信息
                g.show();
        }
}



作者: ppaapc    时间: 2015-10-31 09:57
学习了 多谢楼主
作者: damofeixue    时间: 2015-10-31 12:31
多谢楼主分享
作者: 小穿钉    时间: 2015-10-31 15:04
ppaapc 发表于 2015-10-31 09:57
学习了 多谢楼主

一起进步
作者: hi丶bo    时间: 2015-10-31 18:12
+++++++++++++++++++++++++++++++++
作者: jlq    时间: 2015-10-31 18:48
支持一下I啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2