用java写一个eat的方法,如果传递的参数是动物名,则输出我爱吃苹果
时间: 2024-10-16 11:02:36 浏览: 15
你可以编写一个Java方法`eat`,通过条件判断来实现这个功能。下面是一个简单的示例:
```java
public class AnimalEater {
public String eat(String food, String animal) {
if (animal.equals("猴子")) { // 假设这里猴子喜欢吃苹果
return "我喜欢吃苹果";
} else {
return "我不知道这个动物喜欢吃什么";
}
}
public static void main(String[] args) {
AnimalEater eater = new AnimalEater();
System.out.println(eater.eat("苹果", "猴子")); // 输出:我喜欢吃苹果
System.out.println(eater.eat("香蕉", "大象")); // 输出:我不知道这个动物喜欢吃什么
}
}
```
在这个例子中,`eat`方法接受两个参数,一个是食物,另一个是动物名。当动物是"猴子"时,方法返回"我喜欢吃苹果";对于其他动物则返回默认信息。
相关问题
编写一个Person抽象类,要求含有姓名(name)年龄(age)两个私有属性 以及吃饭(eat) 和睡觉(sleep)两个抽象方法,并写出带参构造方法,创建学生(student)和工人(worker) 两个类, 继承Person类,学生类多出了私有属性学号和学习方法(输出我爱学习), 工人类多出了私有属性工号和工作方法(输出我爱工作), 在主函数中创建学生和工人类 的实例对象,使用构造方法赋值,并输出所有属性和方法
好的,以下是我给出的代码:
```python
from abc import ABC, abstractmethod
class Person(ABC):
def __init__(self, name, age):
self.name = name
self.age = age
@abstractmethod
def eat(self):
pass
@abstractmethod
def sleep(self):
pass
class Student(Person):
def __init__(self, name, age, student_id):
super().__init__(name, age)
self.student_id = student_id
def eat(self):
print("学生{}正在吃饭".format(self.name))
def sleep(self):
print("学生{}正在睡觉".format(self.name))
def study(self):
print("我爱学习")
class Worker(Person):
def __init__(self, name, age, worker_id):
super().__init__(name, age)
self.worker_id = worker_id
def eat(self):
print("工人{}正在吃饭".format(self.name))
def sleep(self):
print("工人{}正在睡觉".format(self.name))
def work(self):
print("我爱工作")
# 创建学生和工人实例对象
student = Student("小明", 18, "20210001")
worker = Worker("张三", 30, "20210002")
# 输出所有属性和方法
print("学生姓名:", student.name)
print("学生年龄:", student.age)
print("学生学号:", student.student_id)
student.eat()
student.sleep()
student.study()
print("工人姓名:", worker.name)
print("工人年龄:", worker.age)
print("工人工号:", worker.worker_id)
worker.eat()
worker.sleep()
worker.work()
```
希望这个代码能够满足你的需求。
编写一个Person抽象类,要求含有姓名(name)年龄(age)两个私有属性以及吃饭(eat) 和睡觉(sleep)两个抽象方法,并写出带参构造方法,创建学生(student)和工人(worker) 两个类,继承Person类,学生类多出了私有属性学号和学习方法(输出我爱学习),工人类多出了私有属性工号和工作方法(输出我爱工作),在主函数中创建学生和工人类的实例对象,使用构造方法赋值,并输出所有属性和方法。
好的,以下是您所需的代码:
```python
# 定义Person类
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
# 定义抽象方法
def eat(self):
pass
def sleep(self):
pass
# 定义Student类,继承Person类
class Student(Person):
def __init__(self, name, age, student_id):
super().__init__(name, age)
self.student_id = student_id
# 实现抽象方法
def eat(self):
print("学生{}喜欢吃学生餐".format(self.name))
def sleep(self):
print("学生{}喜欢在宿舍里睡觉".format(self.name))
def study(self):
print("我爱学习")
# 定义Worker类,继承Person类
class Worker(Person):
def __init__(self, name, age, worker_id):
super().__init__(name, age)
self.worker_id = worker_id
# 实现抽象方法
def eat(self):
print("工人{}喜欢吃快餐".format(self.name))
def sleep(self):
print("工人{}喜欢在工地上睡觉".format(self.name))
def work(self):
print("我爱工作")
# 创建Student和Worker类的实例对象,并输出所有属性和方法
if __name__ == '__main__':
student = Student("小明", 18, "20210001")
worker = Worker("张三", 30, "1001")
print("学生的属性和方法:")
print("姓名:", student.name)
print("年龄:", student.age)
print("学号:", student.student_id)
student.eat()
student.sleep()
student.study()
print("\n工人的属性和方法:")
print("姓名:", worker.name)
print("年龄:", worker.age)
print("工号:", worker.worker_id)
worker.eat()
worker.sleep()
worker.work()
```
输出结果如下:
```
学生的属性和方法:
姓名: 小明
年龄: 18
学号: 20210001
学生小明喜欢吃学生餐
学生小明喜欢在宿舍里睡觉
我爱学习
工人的属性和方法:
姓名: 张三
年龄: 30
工号: 1001
工人张三喜欢吃快餐
工人张三喜欢在工地上睡觉
我爱工作
```
阅读全文