Java面向对象试题

Java面向对象试题1 请创建一个 Animal 动物类 要求有方法 eat 方法 方法输出一条语句 吃东西 创建一个接口 A 接口里有一个抽象方法 fly 创建一个 Bird 类继承 Animal 类并实现 接口 A 里的方法输出一条有语句 鸟儿飞翔 重写 eat 方法输出一条语句 鸟儿 吃虫 在 Test 类中向上转型创建 b 对象 调用 eat 方法 然后向下转型调用 eat 方 法 fly 方法 评分标准 正确写出 Ani

目录

一、第一题

请创建一个Animal动物类,要求有方法eat()方法,方法输出一条语句“吃东西”。 创建一个接口A,接口里有一个抽象方法fly()。创建一个Bird类继承Animal类并实现 接口A里的方法输出一条有语句“鸟儿飞翔”,重写eat()方法输出一条语句“鸟儿 吃虫”。在Test类中向上转型创建b对象,调用eat方法。然后向下转型调用eat()方 法、fly()方法。
评分标准: 正确写出Animal类10分 正确定义接口A 10分 Bird类继承Animal类实现接口A 10分 向上转型创建对象b调用eat()方法正确输出 10分 向下转型调用eat()方法、fly()方法正确输出 10分。 

答案:

Animal.java
image.png
A.java
image.png
Bird.java
image.png
Bird.java
image.png















二、第二题

编写一个Person抽象类,要求含有姓名(name)年龄(age)两个私有属性以及吃饭(eat) 和睡觉(sleep)两个抽象方法,并写出带参构造方法,创建学生(student)和工人(worker) 两个类,继承Person类,学生类多出了私有属性学号和学习方法(输出我爱学习),工 人类多出了私有属性工号和工作方法(输出我爱工作),在主函数中创建学生和工人类 的实例对象,使用构造方法赋值,并输出所有属性和方法(共50分,能够定义类5分, 正确书写子父类构造方法1分,set get写对10分,方法重写10分,正确创建对象10 分,能运行5分)

Person.java
image.png
Student.java
image.png
image.png
Worker.java
image.png
Mains.java
image.png
















三、第三题

利用继承,来描述,人,老师,学生之间的关系
1)老师含有属性:name,age,subject,含有方法:eat,teach,toString
2)学生含有属性:name,age,class,含有方法:eat,study,toString
3)利用继承的思想,从老师和学生中抽象出人,并创建Test进行调用并输出(System.out)






判分标准: 1)创建类Person,含有公有属性:name姓名,age年龄。含有方法void eat(String something);方法中打印输出“我爱吃XXX”。含有构造方法,带两个参数,分别是name和age,并利用this关键字传值到成员变量中 。(10分) 2)创建类Student,含有属性:class班级,含有方法,void study(String subject);方法打印输出:我热爱学习subject。创建包含三个参数的构造方法,分别是name,age,class,利用super实现父类构造方法传值。重写toString方法,打印输出:我的名字是XX,我的年龄是XX,我的班级是XX(10分) 3)创建类Teacher,含有属性:subject,含有方法,void teach();方法打印输出:我教授的是subject。创建包含三个参数的构造方法,分别是name,age,subject,利用super实现父类构造方法传值。重写toString方法,打印输出:我的名字是XX,我的年龄是XX(10分) 4)创建Test测试类,创建Student对象,并调用带3个参数的构造方法,自己赋值,然后依次调用study方法,eat方法,toString方法(20分) 5)创建Teacher对象,并调用带3个参数的构造方法,自己赋值,然后依次调用teach方法,eat方法,toString方法(10分) 

Person.java
image.png
image.png
Student.java






image.png
Teacher.java

image.png
Test.java
image.png




四、第四题

需求:首先定义一个抽象类Animal,抽象类中定义一个抽象方法play()抽象方法,创建 一个猫Cat类,继承Animal并重写play方法输出“我是猫,我玩老鼠”,创建一个狗类, 继承Animal并重写play方法输出“我是狗,我玩球”。最后编写测试类TestDemo,通 过多态创建猫,通过多态创建狗,并调用猫对象的play方,狗对象的play方法
效果如图: 我是猫,我玩老鼠 我是狗,我玩球 评分标准 1)创建Animal抽象类,并定义抽象方法play.(10) 2)创建Dog类继承Animal类,重写play方法。(10) 3)创建Cat类继承Animal类,重写play方法。(10) 4)编写测试类,通过多态创建猫对象,狗对象(15) 

Animal.java
image.png
Cat.java
image.png
Dog.java
image.png
Test.java
image.png














五、第五题

请创建一个Car抽象类,要求有brand(品牌)属性,并且要求封装私有化,写出属性的 set、get方法。抽象类Car构造方法中也可以对brand属性赋值,写出一个抽象方法run ()。创建一个跑车类SportsCar继承抽象类Car。实现Car抽象方法输出一条语句“超 级跑车”,在本类中写出一个自己的方法price(),输出一条语句“售价100w”。在测 试类Test类中创建跑车对象car1,用构造器赋值品牌属性,输出属性,调用run()、 price()方法。创建跑车car2,用set方法赋值属性,输出属性,调用run()、price ()方法。
评分标准: 1)正确写出抽象类Car ,封装属性,写出抽象方法10分 2)封装属性,写出set、get、抽象方法 10分 3)正确继承Car类写出SportsCar类和并实现run() 方法。10分 4)创建car1、car2对象并调用方法10分 5)成功正确输出 10分 显示结果如下: 法拉利 超级跑车 售价100w 兰博基尼 超级跑车 售价100w 

Car.java
image.png
SportsCar.java
image.png
Test.java
image.png










六、第六题

完成那个USB接口的例子,分别定义USB接口,两个方法start,stop。两个子类:Flash和Print,重写两个方法,方法中随便输出两句话。定义计算机类Computer,有一个plugin方法,有一个USB类型的参数,用来调用start和stop。在主方法中实例化Computer类,调用plugin方法,分别传递Flash和Print的对象,通过向上转型,完成功能。

注意:因为从键盘输入我们还没有学习,所以上面若提到使用键盘输入,改为在程序中随意定义几个值(如果会键盘输入那就使用键盘输入)

USB.java
image.png
Print.java
image.png
Flash.java
image.png
Computer.java
image.png
Mains.java
image.png


















七、第七题

(1)请创建一个Car抽象类,要求有brand(品牌)属性,并且要求封装私有化,写出属性的 set、get方法。抽象类Car构造方法中对brand属性赋值,写出一个抽象方法run()。(2)创建一个跑车类SportsCar继承抽象类Car。实现Car抽象方法输出一条语句“超级跑车”,在本类中写出一个自己的方法price(),输出一条语句“售价100w”。(10分)
(3)定义测试类Test类,并创建跑车对象car1,用构造器赋值品牌属性,使用setter方法输出属性值,再调用run()、 price()方法。 (10分)
(4)创建跑车car2,向上转型到Car,使用setter方法为brand赋值属性




,输出属性值,调用run()方法。(10分)

Car.java

package kaoshi_1; public abstract class Car { 
     private String brand; public String getBrand() { 
     return brand; } public void setBrand(String brand) { 
     this.brand = brand; } public Car(String brand) { 
     this.brand=brand; } public Car() { 
     } public abstract void run(); } 

SportCar.java

package kaoshi_1; public class SportCar extends Car { 
     public void run() { 
     System.out.println("超级跑车"); } public SportCar(String brand) { 
     super(brand); } public void price() { 
     System.out.println("售价100w"); } public SportCar() { 
     } } 

Test.java

package kaoshi_1; public class Test { 
     public static void main(String[] args) { 
     SportCar car1 = new SportCar("奥迪A6"); System.out.println(car1.getBrand()); car1.run(); car1.price(); Car car2 = new SportCar(); car2.setBrand("玛莎拉蒂"); System.out.println(car2.getBrand()); car2.run(); } } 

image.png

八、第八题

(1)定义一个Flower花作为父类
属性:颜色 价格
属性要进行封装(即为每条私有属性写set,get方法)
定义无参构造方法,和传两个参数的有参构造方法一个。
方法:显示详细信息的方法showInfo (15分)
(2)定义一个Rose玫瑰花类继承Flower类
玫瑰花自己的属性:产地(要求对产地属性进行封装 私有化属性)
重写父类中的显示详细信息的方法showInfo,在重写的showInfo方法中通过super调用父类的showInfo方法;并显示产地信息。
再定义一个方法warn警告显示:不要摘玫瑰花,小心扎手! (15分)
(3)定义测试类Test完成:(10分)
①实例化Flower类,调用构造方法赋值,并调用方法,输出:
花的颜色是白色,价格是10元
②实例化玫瑰花类,调用方法,输出:
花的颜色是紫色,价格是30元
产地是大理
不要摘玫瑰花,小心扎手!






























Flower.java

package kaoshi_1; public class Flower { 
     private String color; private String price; public String getColor() { 
     return color; } public void setColor(String color) { 
     this.color = color; } public String getPrice() { 
     return price; } public void setPrice(String price) { 
     this.price = price; } public Flower() { 
     } public Flower(String color,String price) { 
     this.color=color; this.price=price; } public void showInfo() { 
     System.out.println("花的颜色是"+this.color+",价格是"+this.price+"元"); } } 

Rose.java

package kaoshi_1; public class Rose extends Flower { 
     private String address; public String getAddress() { 
     return address; } public void setAddress(String address) { 
     this.address = address; } public void showInfo() { 
     super.showInfo(); System.out.println("产地是"+this.address); } public void warn() { 
     System.out.println("不要摘玫瑰花,小心扎手!"); } public Rose() { 
     } public Rose(String color,String price,String address) { 
     super(color,price); this.address=address; } } 

Test2.java

package kaoshi_1; public class Test2 { 
     public static void main(String[] args) { 
     Flower f=new Flower("白色","10"); f.showInfo(); Rose r=new Rose("紫色","30","大理"); r.showInfo(); r.warn(); } } 

image.png

九、第九题

(1)首先定义一个程序员的接口Programmer,接口中定义一个抽象方法ACode(); (10分)
(2)创建一个Student类,实现接口Programmer并实现ACode()方法,ACode()方法可输出输出“程序员在敲代码”, Student类有年龄,姓名,班级,性别私有属性(封装),各个属性的set,get方法,写空参构造方法,和一个有参构造方法包含这四个属性。 (10分)
(3)定义测试类,在main方法中创建一个Student对象,将自己的年龄,姓名,班级,性别,赋值给这个对象,并在控制台打印出对象的各个属性。调用所有的方法。(10分)




效果如图:

程序员在敲代码 姓名:孙悟空 性别:女 年龄:19 班级:三年级二班 

Programmer.java

package kaoshi_1; public interface Programmer { 
     public abstract void ACode(); } 

Student.java

package kaoshi_1; public class Student implements Programmer { 
     private int age; private String name; private String clas; private String sex; public void ACode() { 
     System.out.println("程序员在敲代码"); } public int getAge() { 
     return age; } public void setAge(int age) { 
     this.age = age; } public String getName() { 
     return name; } public void setName(String name) { 
     this.name = name; } public String getClas() { 
     return clas; } public void setClas(String clas) { 
     this.clas = clas; } public String getSex() { 
     return sex; } public void setSex(String sex) { 
     this.sex = sex; } public Student() { 
     } public Student(int age,String name,String clas,String sex) { 
     this.age=age; this.name=name; this.clas=clas; this.sex=sex; } } 

Test3.java

package kaoshi_1; public class Test3 { 
     public static void main(String[] args) { 
     Student s=new Student(19,"孙悟空","三年级二班","女"); s.ACode(); System.out.println("姓名:"+s.getName()+",性别"+s.getSex()+",年龄:"+s.getAge()+",班级:"+s.getClas()); } } 

image.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201505.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午9:14
下一篇 2026年3月20日 上午9:15


相关推荐

  • gg修改器修改数值没有用怎么办_GG修改器详细使用教程[通俗易懂]

    gg修改器修改数值没有用怎么办_GG修改器详细使用教程[通俗易懂]今天呢主要是为了给那些刚刚接触GG的小白朋友们一个教程大佬们请无视这个帖子我看到很多知乎的朋友们不会使用GG,所以俺来了,希望能帮到大家❤另外谢谢各位盆友们支持我❤废话不多说上教程!!1.首先是GG修改器怎么下载看不懂英文的朋友按照图片顺序操作即可2.接下来是下载好以后需要做什么然后就是如何进去GG修改器安装模式一般都是选择64位安装成功后会进行随机包名安装随机包以后卸载之前安装成功那给新安装…

    2025年9月14日
    8
  • mac版ps快捷键大全示意图_苹果电脑ps选中图片快捷键是什么

    mac版ps快捷键大全示意图_苹果电脑ps选中图片快捷键是什么psmac快捷键1、打开文件-Command+O2、创建文档-Command+N3、放大和缩小-Command+加号或减号4、存储为Web格式-Command+Option+Shift+S5、转换层-转化的活性层发生时按Command+T6、自定义快捷键-Option+Command+Shift+K7、首选项-Command+K8、色阶–Command+L9、曲线-Command+M10、色相/饱和度–C

    2026年4月18日
    8
  • TensorFlow加载cifar10数据集

    TensorFlow加载cifar10数据集加载cifar10数据集cifar10_dir=’C:/Users/1/.keras/datasets/cifar-10-batches-py'(train_images,train_labels),(test_images,test_labels)=load_data(cifar10_dir)注意:在官网下好cifar10数据集后将其解压成下面形式load_local_cifar10.pyfrom__future__importabsolute_importfrom_

    2022年6月22日
    59
  • 教你win10系统显卡驱动安装失败的解决方法

    教你win10系统显卡驱动安装失败的解决方法我们日常在对电脑的使用过程中,经常都会遇到这样或那样的问题。比如说win10系统显卡驱动安装失败该怎么办呢?别着急,还有小编在呢?接下来小编就来告诉大家win10电脑系统显卡驱动安装失败怎么解决。详细教你win10系统显卡驱动安装失败怎么办:方法一,删除之前的显卡驱动文件重新安装1,首先,右键点击“此电脑”,菜单栏选择“管理”。2,进入计算机管理界面后,点击“设备管理器”,然后在界面右侧展开“显示适配器”选项,并右键点击显卡驱动程序,菜单栏选择“属性”下一步。3,点击“卸载设备”。4,显卡

    2022年6月13日
    36
  • 《MongoDB入门教程》第04篇 MongoDB客户端

    《MongoDB入门教程》第04篇 MongoDB客户端mongoshell 是一个用于连接 MongoDB 的交互式 JavaScript 接口 mongoshell 可以用于操作 MongoDB 中的数据 也可以执行一些管理任务 showdbs 命令用于列出服务中的全部数据库 use 命令用于切换数据库 showcollecti 命令用于列出当前数据库中的所有集合 文档的基本操作包括创建 Create 读取 Read 更新 Update 以及删除 Delete 这些操作也被称为 CRUD

    2026年3月17日
    2
  • 原创龙虾再见!Windows彻底卸载OpenClaw深度教程,新手零踩坑

    原创龙虾再见!Windows彻底卸载OpenClaw深度教程,新手零踩坑

    2026年3月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号