java作业之实验二面向对象编程

  • 题目

1. 按下列要求编写程序:

① 创建Teacher类;

要求:Teacher类要描述姓名、年龄、薪水,类型分别为String、int、double。

② 创建TeacherTest类;

要求:在TeacherTest类中创建Teacher的对象;为该对象的属性(姓名、 性别、年龄)赋值;将该对象的属性(姓名、性别、年龄)输出。

③ 为Teacher类添加一个方法,用于在教师原有薪水的基础上增加5000。

④ 修改TeacherTest类,增加对教师增加薪水方法的调用,并输出增加后的薪水值。

package shiyan2;
public class teacher {
	//创建Teacher类;String、int、double
	String name;
	int age;
	double salary;
	//为Teacher类添加一个方法,用于在教师原有薪水的基础上增加5000。
	public double getSalary(double salary) {
		return salary+5000;
	}
}
package shiyan2;
public class teachertest {
	public static void main(String[] args) {
		teacher teacher=new teacher();
		teacher.name="张三";
		teacher.age=18;
		teacher.salary=10000;
		String gender="女";
		System.out.println("姓名:"+teacher.name);
		System.out.println("性别:"+gender);
		System.out.println("年龄:"+teacher.age);
		System.out.println("增加后的薪水:"+teacher.getSalary(teacher.salary));
	}
}

2. 定义一个Person类。

① 包含以下属性:String name; int age; boolean gender; Person partner。

② 定义marry(Person p)方法,代表当前对象和p结婚,如若可以结婚,则输出恭贺信息,否则输出不能结婚原因。下列情况不能结婚:结婚年龄,男<24,女<22;某一方已婚。

③ 定义测试类,来测试以上程序。

package shiyan2;
public class Person {
	String name; 
	int age; 
	boolean gender;//男为true,女为false 
	Person partner;
	public Person(String name,int age,boolean gender,Person partner) {
		this.name=name;
		this.age=age;
		this.gender=gender;
		this.partner=partner;
	}
	public void marry(Person p) {
		if(this.gender==p.gender) {
			System.out.println("同性不能结婚!");
		}else {
			if(this.partner!=null||p.partner!=null) {
				System.out.println("有一方已结婚!");
			}else {
				if(this.gender==true&&this.age<24) {
					System.out.println("男性满24岁才可以结婚!");
				}else if(this.gender==false&&this.age<22){
					System.out.println("女性满22岁才可以结婚!");
				}else {
					System.out.println("祝"+this.name+"和"+p.name+"新婚快乐!");
				}
			}
		}
	}
}
package shiyan2;
public class PersonTest {
	public static void main(String[] args) {
		Person person1=new Person("小明",18,true,null);
		Person person2=new Person("小辉",26,true,null);
		//按理说person3不应该为null,应该为person4
		Person person3=new Person("小红",24,false,null);
		Person person4=new Person("小高",25,true,person3);
		Person person5=new Person("小芳",27,false,null);
		Person person6=new Person("小白",24,true,null);
		Person person7=new Person("小花",19,false,null);
		person1.marry(person5);//不满年龄
		person7.marry(person2);//不满年龄
		person2.marry(person6);//同性
		person4.marry(person5);//一方已结婚
		person2.marry(person5);//可以结婚
	}
}

3. 定义一个Animal类,该类有两个私有属性,name(代表动物的名字)和legs(代表动物的腿的条数)。

① 两个构造方法,一个无参,默认给name赋值为AAA,给legs赋值为4;另一个需要两个参数,分别用这两个参数给私有属性赋值。

② 两个重载的move()方法,其中一个无参,在屏幕上输出一行文字: XXX Moving!!(XXX为该动物的名字);另一个需要一个int参数n,在屏幕上输出n次XXX Moving!!

package shiyan2;
public class Animal {
	private String name;
	private int legs;
	Animal animal;
	public Animal() {
		this.name="AAA";
		this.legs=4;
	}
	public Animal(String name,int legs) {
		this.name=name;
		this.legs=legs;
	}
	public void move() {
		System.out.println(this.name+"MOving!!!");
	}
	public void move(Animal animal,int n) {
		while(n>0) {
			System.out.println(animal.name+"MOving!!!");
			n--;
		}
	}
	public static void main(String[] args) {
		int n=4;
		Animal mouse=new Animal("老鼠",4);
		mouse.move(mouse);
		Animal rabbit=newAnimal();
		rabbit.name="兔子";
		rabbit.move(rabbit, n);
	}}

4. 定义一个Fish类,继承自Animal类。

① 提供一个构造方法,该构造方法需要一个参数name,并给legs赋默认值0;

② 覆盖Animal类中的无参move()方法,要求输出:XXX Swimming!!

package shiyan2;
public class Fish extends Animal {
	private String name;
	private int legs;
	public Fish(String name) {
		this.name=name;
		this.legs=0;
	}
	public void move() {
		System.out.println(this.name+"MOving!!!");
	}
	public static void main(String[] args) {
		Fish fish=new Fish("鲸鱼");
		fish.move();
	}
}

这样就可以啦~

如果需要其他资料或者文章的话可以到我的公众号联系我哦,免费提供~~

需要课程设计的也可以哦!~

 

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值