Java面向对象试题

光头强的博客 等级 1332 0 0
标签: Java

==1、== 请创建一个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.javaJava面向对象试题 A.javaJava面向对象试题 Bird.javaJava面向对象试题 Bird.javaJava面向对象试题

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

    显示结果如下:
        姓名:李四,年龄:18,学号:1024
        食堂吃饭
        我爱学习
        姓名:张三,年龄:20,工号:1025
        自己做饭
        在家躺着睡觉
        我爱工作

Person.javaJava面向对象试题 Student.javaJava面向对象试题 Java面向对象试题 Worker.javaJava面向对象试题 Mains.javaJava面向对象试题

==3、== 案例题目描述:

利用继承,来描述,人,老师,学生之间的关系 1)老师含有属性:name,age,subject,含有方法:eat,teach,toString 2)学生含有属性:name,age,class,含有方法:eat,study,toString 3)利用继承的思想,从老师和学生中抽象出人,并创建Test进行调用并输出(System.out) 2、判分标准 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.javaJava面向对象试题 Java面向对象试题 Student.java

Java面向对象试题 Teacher.java

Java面向对象试题 Test.javaJava面向对象试题 4、需求:首先定义一个抽象类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.javaJava面向对象试题 Cat.javaJava面向对象试题 Dog.javaJava面向对象试题 Test.javaJava面向对象试题

==5、== 请创建一个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.javaJava面向对象试题 SportsCar.javaJava面向对象试题 Test.javaJava面向对象试题

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

注意:因为从键盘输入我们还没有做,所以上面若提到使用键盘输入,改为在程序中随意定义几个值(如果会键盘输入那就使用键盘输入) USB.javaJava面向对象试题 Print.javaJava面向对象试题 Flash.javaJava面向对象试题 Computer.javaJava面向对象试题 Mains.javaJava面向对象试题

==7、== 完成以下要求的代码:(共30分)

(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();
    }
}

Java面向对象试题

==8、== 完成以下要求的代码:(共40分)

(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();
    }
}

Java面向对象试题

==9、== 完成以下要求的代码:

(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());
    }
}

Java面向对象试题

收藏
评论区

相关推荐

Caused by: java.lang.RuntimeException: xxl-job jobhandler naming conflicts.
xxljob报这个错误,是因为jobHandler名字重复了,记录一下。
java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'XXXXX' bean
mvc项目启动报这个错原因:rest/controller中映射的地址重复
HelloWorld
Finally find this place.Nice to meet you all.关注helloworld社区也有一段时间了,由于是新晋社区资源较少,一直没有怎么真正的去使用,只是单纯觉得界面美观简洁,符合自己的审美,偶尔逛逛而已。今天终于有时间可以可以坐下来说说话,都说程序员的第一行输出是helloworld,在这个社区的第一篇博客我也
垃圾回收机制
GC标记算法 对象被判定为垃圾的标准:没有被其他对象引用 引用计数算法: 判断对象的引用数量: 通过判断对象的引用数量来决定对象是否可以被回收 每个对象实例都有一个引用计数器,被引用则1,完成引用则1 任何引用计数为0的对象实例可以被当做垃圾收集 优点:执行效率高,程序执行受影响较小。
如何设计一个数据库?
设计两个大模块,存储(文件系统)与程序的实例模块。程序的实例模块划分为:存储管理,缓存机制,SQL解析,日志管理,权限划分,容灾机制,索引管理,锁管理。 为什么使用索引? 假设使用原始的全表查询,那么对于小量数据可能速度并没有影响,但是在大量数据的情况下会使得速度很慢。而索引,则类似于字典中的偏旁部首,加快了查询的效率。 二叉
第一天:今天学spring的时候遇到一个错误
具体错误如下:Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'testDao' is defined at org.springframework.beans.factory.support.D
Java 基础 SDK区别简介
1. Java SE(Java Platform,Standard Edition),应该先说这个,因为这个是标准版本。 Java EE (Java Platform,Enterprise Edition),java 的企业版本 Java ME(Java Platform,Micro Edition),java的微型版本。 1). JavaSE 可以
Java 高级应用编程 第一章 工具类
**一、Java API** **Java API简介** 1、API (Application Programming Interface) 应用程序接口 2、Java中的API,就是JDK提供的各种功能的Java类 3、JDK帮助文档   JAVA\_API\_CN.chm   官网地址http://www.oracle.com/tech
java 配置環境
JAVA\_HOME                                      C:\\Java\\jdk1.8.0\_11 PATH:                                                 %JAVA\_HOME%\\bin;%JAVA\_HOME%\\jre\\bin; CLASSPATH: 
java基础知识随身记
2018年11月12日20:51:35 一、基础知识: 1、JVM、JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性。   java语言是跨平台,jvm不是跨平台的。 JRE(Java Runtime Environment):java的运行环境,包括jvm+java的核心类
java学习第一步
Java SE 磨刀不误砍柴工,工欲善其事必先利其器,咱们先搞好硬件配置,才能顺利的搞好Java学习 阶段一 1、认识Java 2、java发展史及用户 3、配置Java环境 4、JDK8下载安装 5、配置环境变量     JAVA\_HOME配置         java\_home配置两种方法:                 1、J
java的特性
java的特性 ======= 1、Java语言是简单的 2、Java语言是面向对象的 3、Java语言是分布式的 4、Java语言是健壮的 5、Java语言是安全的 6、Java语言是可移植性的 7、Java语言是解释型的 8、Java语言是多线程的 9、Java语言是动态的语言   **Java语言是简单的:**  
How to switch java version on ubuntu 20.04
* View all java versions lwk@qwfys:~$ update-java-alternatives --list java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64 java-1.8.0-ope
Jmeter使用过程中遇到的问题
**问题一:** 已安装java,也配置了java环境变量,但打开jmeter时提示:Not able to find Java executable or version. **解决方法:** 在jmeter.bat文件前面加上以上两句: SET JAVA\_HOME=C:\\Program Files\\Java\\jdk1.7.0\_51 S
Linux中查看jdk安装目录、Linux卸载jdk、rpm命令、rm命令参数
一、查看jdk安装目录 ----------- [root@node001 ~]# whereis java java: /usr/bin/java /usr/local/java #java执行路径 [root@node001 ~]# which java /usr/bin/java #查看JDK安装路径

热门文章

最新文章