选择题
1、下列关于变量的叙述哪个是错的?()
A. 实例变量是类的成员变量。
B. 在方法中定义的局部变量在该方法被执行时创建。
C. 实例变量用关键字static声明。
D. 局部变量在使用前必须被初始化。
2、在Java语言中,下列哪个包是编译器自动导入的?()
A. java.applet
B. ng
C. java.io
D. java.awt
3、当类的成员未用访问权限修饰符时,Java认为此成员的访问权限为()。
A. private
B. protected
C.friendly
D.public
4、下面哪个关键字不是用来控制对类成员的访问的?()
A. public B. protected
C. default
D. private
5、下面哪一个特性不是面向对象编程主要体现的()。
A. 封装性
B. 继承
C. 多态
D. 类
6、不允许作为类及类成员的访问控制符的是()。
A. public
B. private
C. static
D. protected
7、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为()。
A、static void method( )
B、public void method( )
C、final void method( )
D、abstract void method( )
8、可以在下面代码段point x处写入的是?()
//point x
public class Interesting{
//do something
}
A. String str;
B. static int PI=3.14;
C. public class MyClass{//do other thing…}
D. import java.awt.*;
9、下列关于变量的叙述哪个是错的?()
A、实例变量是类的成员变量。
B、在方法中定义的局部变量在该方法被执行时创建。
C、实例变量用关键字static声明。
D、局部变量在使用前必须被初始化。
10、下列哪个类声明是正确的?()
A、abstract final class HI{}
B、abstract private move(){}
C、protected private number;
D、public abstract class Car{}
11、已知A类被打包在packageA , B类被打包在packageB ,且B类被声明为public ,且有一个成员变量x被声明为protected控制方式。
C类也位于packageA包,且继承了B 类。
则以下说法正确的是:()
A、A类的实例不能访问到B类的实例
B、A类的实例能够访问到B类一个实例的x成员
C、C类的实例可以访问到B类一个实例的x成员
D、C类的实例不能访问到B类的实例
12、下列命题为真的是:()
A、所有类都必须定义一个构造函数。
B、构造函数必须有返回值。
C、构造函数可以访问类的非静态成员。
D、构造函数必须初始化类的所有数据成员。
13、在Java中,关于final关键字的说法正确的是()
A、如果修饰变量,则一旦赋了值,就等同一个常量。
B、如果修饰类,则该类只能被一个子类继承。
C、如果修饰方法,则该方法不能在子类中被覆盖。
D、如果修饰方法,则该方法所在的类不能被继承。
14、在Java中,下面关于包的陈述中正确的是()
A、包的声明必须是源文件的第一句代码。
B、包的声明必须紧跟在import语句的后面。
C、只有公共类才能放在包中。
D、可以将多个源文件中的类放在同一个包中。
简单题
1.什么叫方法的重载?构造方法可以重载么?
2.简述实例变量和类变量的区别。
3. 子类会继承父类的所有方法和属性么?
判断题
1.类是一种类型,也是对象的模板。
()
2.类中说明的方法可以定义在类体外。
()
3.实例方法中不能引用类变量。
()
4.创建对象时系统将调用适当的构造方法给对象初始化。
()
5.使用运算符new创建对象时,赋给对象的值实际上是一个引用值。
()
6.对象赋值实际上是同一个对象具有两个不同的名字,它们都有同一个引用值。
()7.对象可作方法参数,对象数组不能作方法参数。
()
8.class是定义类的惟一关键字。
()
9.Java语言会自动回收内存中的垃圾。
()
编程题:
1.编写一个地址Address类,地址信息包括:国家、省份、城市、街道、邮编(6个数字)。
操作方法:打印地址的详细信息、修改属性(setter getter)。
2.编写一个员工Employee类,员工属性包括:编号、姓名、基本薪水、薪水增长比例,操作方法包括:计算薪水增长金额、计算增长后的工资总额,修改薪水增长比例并打印修改之后的工资总额。
3.编写一个部门Dept类,只读属性:部门编号、部门名称、所在位置,方法:打印部门信息。
一个员工信息Emp类,只读属性:员工编号、员工姓名、工种、雇佣时间、工资、补助、部门,方法:打印员工信息,计算员工的薪水,修改员工补助并打印修改之后的薪水。
4.设计一个Dog类,有名字、颜色、年龄等属性,定义构造方法来初始化这些属性,定义方法输出Dog的信息。
编程应用程序使用Dog类:使用数组来记录多条Dog,然后从数组中同名字来查询Dog,如果找到就打印出Dog信息,没有找到就提示没有此Dog。
5.设计一个用户User类,有属性:用户名称、用户密码、用户登录次数。
然后设计一个用户管理UserManager类,有属性User类数组记录多个用户。
添加用户到数组中,从数组中可以删除用户。
有验证用户是否存在数组中方法:isExist(String uname),验证用户登录loginCheck(String uname,String pwd).验证成功,输出登录成功,并且修改此用户的登录次数增加1.登录失败,输出失败信息。
6.猫抓老鼠的过程:Cat、Mouse类,Cat类有抓老鼠的行为
7.创建一个Point类,包含坐标x、y。
然后创建一个MyPoint类,定义两个读写属性start和end,数据类型为Point。
MyPoint类方法:计算start和end之间的距离并打印出来start和end坐标以及距离信息。
8.创建一个加减乘除四则运算类,使用重载实现int double的四则运算
9.创建一个类,为该类定义三个构造函数,分别执行下列操作:传递两个整数值并找出其中较大的一个值。
传递三个double值并求出其乘积。
传递两个字符串值并检查其是否相等。
在main方法中测试构造函数的调用。
10. 建立一个人类(Person)和学生类(Student),功能要求如下:(练习继承、构造方法重载、this、super用法)
(1)Person中包含4个保护型的数据成员name、addr、sex、age 分别为字符串、字符串、字符型整型,表示姓名、地址、性别、年龄。
用4个参数的构造方法、一个两个参数的构造方法、一个无参构造方法,一个输出方法显示4种属性。
(2) Student类继承Person类,并增加输出成员math、english存放数学和英语成绩。
用6个参数构造方法,2个参数的构造方法,一个无参构造方法。
重写输出方法用于显示6种属性。
11.小明去超市买东西,所有买到的东西放在了购物车之中,最后到收银台一起结账。
请使
用面向对象的相关知识,用java代码实现上面生活场景。
12.根据下面类图,设计一个名为Student 的类,包括属性有“学号”、“姓名”、以及3 门课程“数学”、“英语”和“计算机”的成绩,包括的方法有计算 3 门课程的“总分”、“平均分”、“最高分”及“最低分”。
13.在上一题基础上,使用数组来实现对多个学生的管理。
写一个控制台应用程序。
菜单如下:
● 1.添加学生
● 2.删除学生
● 3.查询学生
● 4.修改学生
● 5.打印学生
打印格式如下
学号姓名数学英语计算机
01 张三56 65 77
02 李四89 55 44
● 6.统计学生:
⏹所有学生的“数学”、“英语”和“计算机”每门课程总的平均成绩、最高
分、最低分。
打印格式:
学科平均成绩最高分最低分
数学
英语计算机。