继承、接口、抽象类综合题

java综合题、继承、接口、抽象类

大家好,本次分享一个考验综合能力的小题
题目是这样的:9、定义一个抽象的”Role”类,有姓名,年龄,性别等成员变量
1.要求尽可能隐藏所有变量,再通过GetXXX和SetXXX方法对各变量进行读写。具有一个抽象的play方法,该方法不返回任何值,同时至少定义两个构造方法。Role类中要体现出this的几种用法。
2.从Role类派生出一个”Employee”类,该类具有Role类的所有成员,并扩展
salary成员变量,同时增加一个静态成员变量“职工编号”。同样要有至少两个构造方法,要体现出this和super的几种用法,还要求覆盖play方法,并提供一个final sing 方法。
3.“Manager” 类继承”Employee”类,有一个final成员变量”vehicle”
4.在 main方法中制造Manager和Employee对象,并测试这些对象的方法
看到这个题的时候,大家是不是感觉题的内容很多,其实不然,我们可以把题目一步一步分解
直接看代码:
首先,我们定义一个类,设置好变量,用set、get方法实现传值,后面写带参构造方法,并灵活运用this关键字。

package com.interface7;
public abstract class Role {
         private String name;
         private int age;
         private String 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 String getSex() {
			return sex;}
		public void setSex(String sex) {
			this.sex = sex;}
          public void play() {
        	  System.out.println("打篮球");}
		public Role(String name, int age, String sex) {
			this.name = name;
			this.age = age;
			this.sex = sex;}
		public Role() {
	           this("唐三", 19, "男");}}

接下来,跟着题意走:
写一个子类去继承Role,在写两个变量,一个静态的变量,写两个成员方法,写一个继承构造方法,一个子类的构造方法,后面为了方便区分结果,重写play方法。

public class Employee extends Role{
	        double salary;
	       static String bianhao;
		public Employee(String name, int age, String sex, double salary) {
			super(name, age, sex);
			this.salary = salary;
			System.out.println("姓名:"+name+",年龄"+age+",性别:"+sex+",工资:"+salary);
		}
		public Employee() {
			// TODO Auto-generated constructor stub
			this("小舞", 18, "女", 1314);
		}
		public Employee(String name, int age, String sex) {
			super(name, age, sex);
			System.out.println("姓名:"+name+",年龄"+age+",性别:"+sex);
		}
        public void play() {
      	  System.out.println("打排球");  	  
        }
	    public final void sing() {
			System.out.println("小舞喜欢唱歌");
		}   
}

那么本题里,说写一个final的变量,也就是最终类

public class Manager extends Employee{
   final int vehicle = 5;
}

下面,就是测试类,首先,创建对象,调用调用set方法传值,打印get方法。
创建两个不同的带参构造方法,并分别传不同值。
最后,我们直接打印final的方法(final不能被创建对象,也不能继承)

public class Demo {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
               Manager m = new Manager();
               m.setName("唐昊");
               m.setAge(32);
               m.setSex("男");
               System.out.println("姓名:"+m.getName()+",年龄"+m.getAge()+",性别:"+m.getSex());
               m.play();
               m.sing();
              Employee e = new Employee("奥斯卡",19,"男",1000);
              Employee e1 = new Employee("马红俊",19,"男"); 
             System.out.println("车辆:"+m.vehicle);
	}
}

好了,本次的题就分享代这里,希望大家学有所获,加油。后面,我会和大家分享一些制作小游戏的实验。喜欢就关注点赞的三连吧!
下面是效果图
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值