Lesson_for_java_day09--练习--继承、this、super的使用、使用构造方法赋初始值

来源:互联网 发布:植物大战僵尸2淘宝存档 编辑:程序博客网 时间:2024/04/27 16:26

 练习:

package sonyi;/* *  *练习: *目的:练习this,super的使用,构造方法覆初始值,继承初步 *步骤: *1、新建一个Company类 *属性:姓名,性别,工资(设置为私有) *方法:printMsg();//打印这个部门的人员所有信息 *2、新建一个Dept类继承Company *属性:技能 *方法:printMsg();//打印这个部门的人员所有信息 *3、新建一个Manage类继承Dept *属性:职位 *方法:printMsg();//打印这个部门的人员所有信息 *4、新建一个测试类 *实例化一个Company对象,实例化一个Dept对象,实例化两个Manage对象, *分别打印各自的全部信息。 */public class ExtendsDemo {public static void main(String[] args) {//创建各类的对象,并初始化值Company c1 = new Company("张三",'男',2000);Company c2 = new Company("小张",'男');Dept d = new Dept("小红",'女',3000,"前端");Manage m1 = new Manage("李四",'男',2500,"后端","工程师");Manage m2 = new Manage("小王",'女',3500,"数据库","数据库工程师");//打印各对象的全部信息c1.printMsg();c2.printMsg();d.printMsg();m1.printMsg();m2.printMsg();}}//创建Company父类class Company{private String name;//设置私有属性private char sex;private double salary;public Company(){//无参构造方法}public Company(String name, char sex, double salary) {//重载构造方法(三个参数)this.name = name;//this的使用1:调用本类的属性和方法this.sex = sex;this.salary = salary;}public Company(String name, char sex) {//两个参数的构造方法(重载)this(name,sex,0.0);//this的使用2:调用本类的构造方法}public String getName() {//设置私有属性的获取方法return name;}public void setName(String name) {//设置私有属性的赋值方法this.name = name;}public char getSex() {return sex;}public void setSex(char sex) {this.sex = sex;}public double getSalary() {return salary;}public void setSalary(double salary) {this.salary = salary;}public void printMsg(){System.out.println("我的姓名是:" + getName() + ",我的性别是:" + getSex() + ",我的工资是:" + getSalary());}}//创建Company的子类class Dept extends Company{private String skill;//设置对象特有的私有属性Dept(){}//四个参数的构造函数Dept(String name,char sex,double salary,String skill){super(name,sex,salary);//super的使用1:调用父类的构造函数,减少重复代码this.skill = skill;}public String getSkill() {return skill;}public void setSkill(String skill) {this.skill = skill;}public void printMsg(){//打印该类的所有信息super.printMsg();//super的使用2:调用父类的方法,减少重复代码System.out.println("\t我的技能是:" + getSkill());}}//创建Dept的子类class Manage extends Dept{//设置该类特有的私有属性private String position;Manage(){//无参构造函数}//五个参数的构造函数Manage(String name,char sex,double salary,String skill,String position){super(name,sex,salary,skill);//调用父类的构造函数this.position = position;}public String getPosition() {//设置私有属性的获取方法return position;}public void setPosition(String position) {//设置私有属性的赋值方法this.position = position;}public void printMsg(){//打印该类所有的信息super.printMsg();//调用父类的打印方法,减少重复代码System.out.println("\t我的职位是:" + getPosition());}}


0 0
原创粉丝点击