Java面向对象编程的练习

这篇博客探讨了Java面向对象编程的概念,包括如何在Role类中隐藏成员变量并实现抽象方法,以及如何在Employee和Manager类中利用this和super关键字。此外,还介绍了如何创建一个Drink抽象类,其子类如Coffee、Beer和Milk,以及如何处理DrinkNotFoundException异常。最后,提到了一个未完成的用户博客管理系统案例。
摘要由CSDN通过智能技术生成

1.给定一个大小为 n 的数组 nums ,返回其中的多数元素。
    多数元素是指在数组中出现次数 大于  n/2 的元素。

package com.lele.day7_23;

import java.util.Arrays;

public class Test01 {
	public static void main(String[] args) {
		//给定一个大小为 n 的数组 nums ,返回其中的多数元素。
		//多数元素是指在数组中出现次数 大于  n/2 的元素。
		int nums [] = {1, 8, 3, 8, 8, 3, 8, 1, 8, 8, 8};
		Arrays.sort(nums);
		System.out.println(nums[nums.length / 2]);
	}
}


//8

2.定义一个抽象的"Role"类 有姓名 年龄 性别等成员变量 
    1. 要求尽可能隐藏所有变量(能够私有就私有,能够保护就不要公有) 
    再通过GetXXX()和SetXXX()方法对各变量进行读写。具有一个抽象的play()方法 
    该方法不返回任何值 同时至少定义两个构造方法。Role类中要体现出this的几种用法。
    2. 从Role类派生出一个"Employee"类 该类具有Role类的所有成员 
    构造方法除外 并扩展 salary成员变量 同时增加一个静态成员变量“职工编号 ID ”。
    同样要有至少两个构造方法 要体现出this和super的几种用法 
    还要求覆盖play()方法 并提供一个final sing()方法。 
    3. "Manager"类继承"Employee"类 有一个final成员变量"vehicle" 
    4. 在main()方法中制造Manager和Employee对象,并测试这些对象的方法

Role类

package com.lele.day7_23;

public abstract class Role {
	private String nameString;
	private int age;
	private String sexString;
	
	
	public Role(String nameString, int age, String sexString) {
		super();
		this.nameString = nameString;
		this.age = age;
		this.sexString = sexString;
	}

	public Role() {
		super();
	}

	public abstract void play();
	
	public String getNameString() {
		return nameString;
	}
	public void setNameString(String nameString) {
		this.nameString = nameString;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getSexString() {
		return sexString;
	}
	public void setSexString(String sexString) {
		this.sexString = sexString;
	}
	

}

Employee类

package com.lele.day7_23;

public class Employee extends Role{
	private static int id;
	private int sarlay;
	
	@Override
	public String toString() {
		return "Employee [sarlay=" + sarlay + "]";
	}

	public Employee(String nameString,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值