面向对象程序设计(Java)题库

(1)此题库共75道题,抽8道作为期末考试题。其中,易8道,较易33道,较难18道,难16道.

(2)按题型,第一大题抽4道,每道10分;第二大题抽2道,每道10分;第三大题抽1道,每道20分;第四大题抽1道,每道20分。

(3)按难易程度:易(1道)、较易(4道)、较难(2道)、难(1道)。

一、解答题(共40道,抽4道,每道10分,共40分)

1.面向对象有哪三大特征

封装,继承,多态.

2.什么是类(易)

类是定义同一类所有对象的变量和方法的蓝图或原型。

3.什么是对象

对象是类的实例;对象是通过newclassName产生的,用来调用类的方法;类的构造方法.。

4.类和对象的区别是什么

java中的类是模板,而对象是依据模版产生的实体

5.简述Java的封装性,如何在Java中实现封装

封装性是指的把代码封装到大括号中,只能访问自己内部的数据,外边的东西访问不了。

实现为加访问权限。

6.构造方法有哪些特点

方法名与类名相同,没有返回值,可以有多个重载。

7.构造方法的作用是什么(较易)

初始化对象,就是你new一个类的时候可以很方便的给你的对象里的属性赋值。

8.this在程序中所代表的意思(易)

指当前对象

9继承的作用是什么(易)

实现代码复用。

10.Java支持多继承吗(易)

不能。

11.子类可以继承父类的哪些成员(较难)

变量和构造方法。

12.简述构造子类对象时子类和父类构造方法执行顺序(较易)

先执行父类再执行子类。

13.什么是方法的重载,如何选择被重载的方法?(较易)

同一个类中如果同时存在两个以上的方法有同一个名字,在这种情况下,我们说方法被重载了,这个过程被称为重载。

14什么是方法的重写,如何选择被重写的方法?(较难)

当同名方法同时存在于子类和父类中时,对于子类来说就是将继承父亲的方法重载写过了,实现功能完全和父类无关。

15.简述重载和覆盖的区别(较易)

重载是让同一方法名的方法可以处理和返回不同类型的数据

而覆盖是在子类中改写父类的方法

16.什么是成员的隐藏?如何访问被隐藏了的父类成员?(较易)

在子类对父类的继承中,如果子类的成员变量和父类的成员变量同名,此时称为子类隐藏了父类的成员变量。

Super语句。

17.简述this和super的区别(较难)

this即可以拿到自己的也可以拿到父类的,super只能拿到父类的

18.简述面向对象的多态性(较易)

一个接口,多个方法

19.简述实例变量和类变量的区别(较易)

1.简述静态方法和实例方法的区别(较易)

2.简述按值传递和按址传递的区别(较难)

3.什么是抽象类?抽象类中一定有抽象方法吗?(较难)

4.什么是接口?接口中的成员有什么特点?(较易)

5.简述抽象类和接口的区别(较易)

6.extends和implements的区别是什么?(较易)

7.final可以用在哪些地方,分别代表什么意思?(较易)

8.static可以用在哪些地方,分别代表什么意思?(较易)

9.静态代码块的作用是什么?它被执行几次?(较易)

10.Java中包的作用是什么(易)

11.在Java中,import和package的区别?(易)

12.public,protected,default,private的区别(较易)

13.内部类的作用是什么?内部类常用在哪里?(较难)

14.简述异常处理机制(较难)

15.简述throw和throws的区别(较易)

16.简述final和finally的区别(较易)

17.列出三个常见的异常并说明其作用(较易)

18.简述String和StringBuffer的区别(较易)

19.集合Collection包含哪两大子接口?它们的区别是什么?(较易)

20.如何把一个字节流转换成字符流?(较易)

21.让一个类成为线程有哪两种方式?(较易)

二、单项编程(共25题,抽2题,每题10分,共20分)

1.设计一个矩形类,有长和宽两个属性,能够计算每一个矩形的面积和周长;再编写一

个主类,在其主方法main中创建一个具体的矩形,求出该矩形的周长和面积。(较易)

2.(1)设计一个圆类,有一个属性半径,能够计算每一个圆的面积和周长;再编写一

个主类,在其主方法main中创建一个具体的圆形,求出该圆形的周长和面积。(较易)

3.设计一个盒子类Box,它有长、宽、高三个私有成员属性,包含无参数和有参数的

构造方法,分别实现设置和获取属性的setter和getter方法,以及求盒子体积的公有方法。其中,构造方法用于对成员变量初始化,无参数的构造方法将成员变量初始化为0值。再编写一个主类BoxTest,在其主方法main()中创建若干个Box对象,输出其长、宽、高及其体积的值。(较易)

4.设计一个人类,有姓名、年龄、性别、身高、体重属性,以及吃饭、穿衣服、跑步

行为;再编写一个主类,在其主方法main中创建两个人类对象,并分别为各个对象的属性赋初值,然后打印出各个对象的所有基本信息。(较易)

5.编写学生类和成绩类。成绩有科目和分数信息。学生有姓名和成绩信息,学生类的

getResult()方法显示输出成绩信息,setData()方法实现初始化学生信息。(较难)6.(1)定义一个动物类Animal,有动物类型属性type和动物发声的方法sound();

(2)定义基于动物类的狗类Dog和猫类Cat,这两个类都要求覆盖父类的发声方法;

7.(1)设计一个表示二维平面上圆的类Circle,有表示圆半径的protected类型的成员

变量radius、获取和设置radius值的public方法、计算圆面积的public方法。

(2)设计一个表示圆柱体的类Cylinder,它继承自类Circle,还包含有表示圆柱体高的protected类型的成员变量height、获取和设置height值的public方法、计算圆柱体体积的public方法。

(3)建立若干个Cylinder对象,输出其半径、高及其体积的值。

要求:

A、每个类包含无参数和有参数的构造方法。构造方法用于对成员变量初始化,无

参数的构造方法将成员变量初始化为0值。

B、子类的构造方法调用父类的构造方法,对父类中的成员变量初始化。(较难)

8.请使用继承关系实现下列描述:(较难)

自行车和豪车属于车类型

车(car):车牌号(cid)、车型(dtype)、价值(cvalue)

自行车(bicycle):车牌号(cid)、车型(dtype)、价值(cvalue)、链条(chain)豪车(limo):车牌号(cid)、车型(dtype)、价值(cvalue)、导航(guide)

9.使用一个类里面包含其他类的对象的方法实现下列描述:(较难)

有1个组长,手下有2个助手,每个助手有2部车。

组长(leader):姓名(lname)、年龄(lage)

助手(asist):编号(aid)、年龄(aage)、姓名(aname)、爱好(ahobby)

10.使用一个类里面包含其他类的对象的方法实现下列描述:(较难)

有1个人,人有2个宠物且有2部车。

人(people):姓名(pname)、年龄(page)

宠物(pet):编号(petid)、年龄(petage)、姓名(petname)

THE END
1.python中的继承和多态(ABCMeta模块)在已有类的基础上创建新类,其中的一个做法就是让一个类从另一个类那里将属性和方法直接继承下来,从而减少重复代码的编写。提供继承信息的我们称之为父类,也叫超类或基类;得到继承信息的我们称之为子类,也叫派生类或衍生类。子类除了继承父类提供的属性和方法,还可以定义自己特有的属性和方法,所以子类比父类拥有更...https://www.jianshu.com/p/d9fe95051f92
2.现代汉语中能带宾语的都是及物动词。【单选题】糖类的主要食物来源是谷类和根茎类食品,( )是食物纤维的主要来源。 查看完整题目与答案 【单选题】下面不属于折射定律内容的是( )。 查看完整题目与答案 【单选题】糖类的主要食物来源是谷类和根茎类食品, 蔬果类是( )的主要来源。 查看完整题目与答案 【单选题】关于折射定律说法不合适的是( )...https://www.shuashuati.com/ti/141a7050be1245c695836153b32e9fe5.html?fm=bd21aecf2f921e9d5b582e07814d4f3578
3.Python3基础知识一个用编译性语言比如 C 或 C++ 写的程序可以从源文件(即 C 或 C++ 语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而 Python 语言写的程序不需要编译成二进制代码。http://xiahunao.cn/news/1550221.html
1.程序员面试算法研究机器学习大模型/ChatGPT/AIGC论文审稿具身...上述微软面试100题系列(共计11篇文章,300多道面试题)的PDF文档近期已经制作出来,其下载地址为:微软面试100题系列之高清完整版PDF文档[带目录+标签]by_July_pdf-C++文档类资源-CSDN下载 二、十五个经典算法研究与总结、目录+索引 一、A*搜索算法 一(续)、A*,Dijkstra,BFS算法性能比较及A*算法的应用 ...https://blog.csdn.net/v_JULY_v/article/details/6543438
2.python相关岗位算法面试题总结(持续更新)七、一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 deftm_2():num=12321s=str(num)foriinrange(len(s)//2):ifs[i]!=s[-i-1]:print(False)breakelse:print(True)tm_2() 八、求100之内的素数。 https://www.ctyun.cn/zhishi/p-425417
3.Python人狗大CSDN:探索编程与宠物的奇妙世界摘要:主要探讨了“Python 人狗大 CSDN:探索编程与宠物的奇妙世界”这一主题。通过对 Python 编程以及宠物世界的深入分析,揭示了它们之间潜在的联系和相互影响。从 Python 在宠物相关领域的应用,到宠物给予编程者的灵感和陪伴,全面阐述了这个奇妙世界的多个方面,最后总结了二者结合的意义和价值。 http://shanghai.dbboiler.com.cn/dbgl/3495.html
4.如何查看JAVA的应用程序主类mob6454cc634aa4的技术博客【单选题】6.用高级程序设计语言编写的程序要转换成等价的可执行程序,必须经过 。 【单选题】40.计算机操作系统的主要功能是 。 【单选题】13.在计算机领域中,通常用MIPS来描述计算机的 。 【单选题】下列哪些状况下机体不处于负氮平衡 : 【单选题】患者,男,主诉乏力、关节和肌肉疼痛,检查发现牙龈肿胀出血、皮肤...https://blog.51cto.com/u_16099178/12581315
5.TypeScript学习指南(有PDF小书+思维导图)腾讯云开发者社区代码语言:javascript 复制 enumSex{Man,Woman}letm:Sex=Sex.Man;console.log(m)//0letw:string=Sex[1]console.log(w)//WomanenumAnimal{Dog=3,Cat,Tiger};console.log(Animal[5])//Tigerenuminfo{student='学生',teacher='教师',parent='家长'};console.log(info.teacher)//教师 ...https://cloud.tencent.com/developer/article/1886867
6.OnJava8/docs/book/19Type但是,如果你已经拥有了目标类的对象,那就可以通过调用 getClass() 方法来获取 Class 引用了,这个方法来自根类 Object,它将返回表示该对象实际类型的 Class对象的引用。Class 包含很多有用的方法,下面代码展示了其中的一部分: // typeinfo/toys/ToyTest.java // 测试 Class 类 // {java typein...https://github.com/522093996/OnJava8/blob/4ab27d4a621b530faee0b99765a6d060f3bee8bc/docs/book/19-Type-Information.md
7.Attribute类(System)MicrosoftLearn, mInfo.Name, ((AnimalTypeAttribute)attr).Pet); } } } } /* * Output: * Method DogMethod has a pet Dog attribute. * Method CatMethod has a pet Cat attribute. * Method BirdMethod has a pet Bird attribute. */ 注解 Attribute 类将预定义的系统信息或用户定义的自定义信息与目标元素相...https://docs.microsoft.com/zh-cn/dotnet/api/system.attribute