public class al4_2 { public static void main(String[] args) { Feeder feeder = new Feeder("小华"); //创建Feeder类实例对象 feeder.speak(); Dog dog = new Dog("小狗"); //创建Dog类实例对象 dog.shout(); //调用Dog类中重写的shout()方法 Food food = new Bone(); //创建Food类实例对象 feeder.feed(dog, food); Cat cat = new Cat("小猫"); //创建Cat类实例对象 cat.shout(); //调用Cat类中重写的shout()方法 food = new Fish("黄花鱼"); //创建Fish实例化对象 feeder.feed(cat, food); //调用Feeder类中的feed()方法 } }
时间: 2023-06-20 20:10:16 浏览: 65
这是一个简单的面向对象的示例代码,其中定义了三个类:Feeder、Dog和Cat,以及两个接口:Food和Shout。主函数中创建了Feeder、Dog和Cat的实例对象,并调用它们的方法进行互动。
Feeder类表示喂食员,有一个speak()方法表示说话,还有一个feed()方法可以给动物喂食。Dog类和Cat类都实现了Shout接口,表示它们能够发出声音,有一个shout()方法用于发出叫声。Food接口表示食物,有一个eat()方法用于表示食物被吃掉。
在主函数中,首先创建了一个Feeder类的实例对象feeder,并调用了它的speak()方法。然后创建了一个Dog类的实例对象dog,并调用了它的shout()方法。接着创建了一个Bone类的实例对象food,并将它传递给了feeder.feed()方法,表示给狗喂食。同样地,创建了一个Cat类的实例对象cat,并调用了它的shout()方法。最后创建了一个Fish类的实例对象food,并将它传递给了feeder.feed()方法,表示给猫喂食。
这个示例代码很好地展示了面向对象的思想,将实体抽象为类和接口,让它们能够互相协作完成任务。
相关问题
class XiyoujiRenwu{ float height,weight; String head,ear; void speak(String s) { System.oyt.println(s); } } public class Example4_1 { public static void main(String[] args) { // TODO Auto-generated method stub XiyoujiRenwu zhubajie; zhubajie=new XiyoujiRenwu(); } }请说明每一步的作用
这段代码定义了一个类 `XiyoujiRenwu`,表示西游记中的人物。
- `float height, weight; String head, ear;` 定义了四个属性,分别表示人物的身高、体重、头部和耳朵。
- `void speak(String s) { System.out.println(s); }` 定义了一个方法 `speak`,用于输出人物的话语。
- `public class Example4_1` 定义了一个公共类 `Example4_1`。
- `public static void main(String[] args)` 定义了一个静态方法 `main`,作为程序的入口点。
- `XiyoujiRenwu zhubajie;` 声明了一个 `XiyoujiRenwu` 类型的变量 `zhubajie`。
- `zhubajie=new XiyoujiRenwu();` 创建了一个新的 `XiyoujiRenwu` 对象,并将其赋值给变量 `zhubajie`。
整个程序的作用是创建一个 `XiyoujiRenwu` 对象并将其赋值给变量 `zhubajie`,但并没有对该对象进行任何操作。
public class al4_5 { public static void main(String[] args) { Graduate gr = new Graduate("zhangsan", "男", 5, 8000, 3000); judgeLoan(gr); } public static void judgeLoan(Graduate gr) { if (gr.getPay() * 12 - gr.getFree() * 2 < 2000) { System.out.println("provide a loan"); } else System.out.println("don't need a loan"); } }
这段代码定义了一个名为al4_5的public类,其中包含一个名为main的静态方法和一个名为judgeLoan的静态方法。在main方法中,我们创建了一个Graduate对象并将其传递给judgeLoan方法进行评估。在judgeLoan方法中,我们根据毕业生的工资和免费额来判断是否需要提供贷款,并打印出结果。如果毕业生的工资 * 12 - 免费额 * 2小于2000,则提供贷款,否则不需要提供贷款。