OOP基础试题(JAVA)_第1页
OOP基础试题(JAVA)_第2页
OOP基础试题(JAVA)_第3页
OOP基础试题(JAVA)_第4页
OOP基础试题(JAVA)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

OOPOOP基础试题基础试题 答案在后面 答案在后面 一 单项选择 1 已知 class C public static void main String args boolean a true boolean b false boolean c true if a if a A A B B C AB D 编译错误 2 已知 class C public static void main String args int a 1 int b 2 System out print 7 5 4 System out print m a 3 System out println a b m public static String m return 6 A 79613126 B 79614336 C 75461336 D 754613126 3 下面代码的输出是 class C public static void main String args int x 1 System out print x 1 System out print System out print x 1 A false true B true false C false false D true true 4 已知 class C public static void test String s if s null s length 0 System out println String is null else System out println String is not null public static void main String args test null 则输出为 A String is null B String is not null C 编译错误 D 运行时异常 5 import语句的作用是 A 导入包中成员 B 创建包 C 既可导入包成员 也可创建包 D 访问控制 6 接口中的成员方法被隐含地声明为 A public static final B protected abstact C private D public abstract 7 接口中的成员变量被隐含地声明为 A public static final B public final C public static D public abstract 8 已知 class A public final void m System out println A m public class B extends A public void m System out println B m super m public static void main String args new B m 那么结果为 A A m B B m C B m D 编译错误 A m 9 已知 class Base public Base String s System out print B public class Derived extends Base public Derived String s System out print D public static void main String args new Derived C 那么结果为 A BD B DB C C D 编译错误 10 如果类中的成员只能被子类或同一包中的类访问 那么声明该成员时应使用下面哪个修饰 符 A private B package C protected D public 11 如果类中的成员只能被同一包中的类访问 那么声明该成员时应使用下面哪个修饰符 A protected B package C public D 不使用访问修饰符 12 关于包的描述错误的是 A 包可以将相关的类和接口组织在一起 便于识别和管理 B 包中的类可以访问同一包的其它类的私有成员 C 不同包中的相同命名 不会产生冲突 D 用public修饰的顶级类和接口对包外代码可见 13 已知 class C public static void main String args System out println sqrt 4 要使程序正确编译需要在横线处添加哪句代码 A import java lang Math B import java lang Math C import static java lang Math D import static java lang Math 14 已知 class C public static void main String args for int i 1 i args length i System out print args i 在命令行中执行 java C D E F 则输输出为 A CDEF B DEF C EF D F 15 抛出异常 使用关键字 A try B throw C finally D catch 16 为了区分方法重载时同名的不同方法 要求 A 采用不同的形式参数列表B 返回值类型不同 C 调用时用类名或对象名做前缀D 参数名不同 17 设 A 为已定义的类名 下面声明类 A 的对象 a 的语句中正确的是 A float A a B public A a A C A a new int D Aa new A 18 有一个类 A 以下为其构造方法的声明 其中正确的是 A void A int x B A int x C a int x D void a int x 19 关于实例方法和类方法 以下描述正确的是 A 实例方法只能访问实例变量 B 类方法既可以访问类变量 也可以访问实例变量 C 类方法只能通过类名来调用 D 实例方法只能通过对象来调用 20 下列哪个类的声明是错误的 A final abstract classA B final classA C abstract classA D public classA 二 多项选择题 1 下面的哪些声明是合法的 A int a B int a 5 C int a D int a 5 2 已知 class C public C int i 下面哪些代码是对构造函数的重载 A C B public Object C byte b C public void C D private C int i int j 3 下面哪些方法禁止子类重定义该方法 A protected void m B final void m C abstract void m D static final void m 4 设有方法 public A method return b 则b可以为 A null B b的类型为A C b的类型为A的子类 D b的类型为A的父类 5 下面关于try catch和finally语句块的组合使用 正确的是 A try B try finally C try catch finally D try catch catch 6 已知 class C public static void main String args try method System out println a catch ArithmeticException e System out println b finally System out println c System out println d static void method throw new NullPointerException 则输出包含 A a B b C c D d 7 已知 interface I int methodA short methodB byte s 下面哪些代码是正确的 A abstract class C extends I public int methodA return 0 B abstract class C implements I C interface I2 extends I D class C extends I int methodA return 0 short methodB return 1 8 如果a b是引用类型的变量 且赋值表达式A a b 是正确的 那么 A 表达式 b instanceof A 的值为true B b的类型可以是A的父类型 C b的值可以为null D 如果A为Object 那么b可以是任何引用类型的变量 9 关于接口 描述正确的是 A 接口是抽象方法和常量值定义的集合 B 不相关的类可以实现同一接口 C 一个类只能实现一个接口 D 接口的成员方法不能提供实现代码 10 已知 1 public class A 2A m return this 3 4 class B extends A 5 6 那么第5行可以添写 A A m return this B String m return this C int m int i return 0 D String m int i return 0 11 已知 class C public static void a 代码 public void b 代码 下面说法正确的是 A 可以在a的代码中执行C a B 可以在b的代码中执行C b C 可以在b的代码中执行a D 可以在a的代码中执行b 12 已知 class C void m class B extends C 下面哪些语句在横线处是合法的 A int void m B private void m C protected void m D public void m 13 已知 public abstract class Shape private int x private int y public abstract void draw public void setLocation int x int y this x x this y y 则下面的哪些代码是正确的 A public class Circle implements Shape private int radius B public abstract class Circle extends Shape private int radius C public class Circle extends Shape private int radius public void draw D public class Circle extends Shape private int radius public void draw 14 下面哪些main方法可用于程序执行 A public static void main String args B public static void main String x C static public void main String args D public void main String args 15 已知 class C int a 1 public void m final int b int c 1 class Inner public void mi int d Inner inner new Inner inner mi 1 则下面哪个表达式在横线处是正确的 A int e a B int e b C int e c 从内部类中访问局部变量 c 需要被声明为最终类型 D int e d 16 下面哪些说明是正确的 A 可以在类中定义类 B 可以在类中定义方法 C 可以在方法中定义类 D 可以在方法中定义方法 17 已知 1 class C 2private int i 3protected C int i this i i 4 5 class B extends C 6public B this i 5 7public B int i super i 8 要使用类B通过编译 只需要修改 A 第2行改为 public int i B 第3行改为 public C int i this i i C 第6行改为 public B this 5 D 第6行改为 public B super 5 18 已知 1 public interface I 2int i 1 3 下面哪些语句是和第2行等价的 A public int i 1 B static int i 1 C final int i 1 D abstract int i 1 19 下面说法正确的是 A 当且仅当类C是抽象类时 才能包含final方法 B 类C中的protected实例方法可以被子类覆盖 C 类C中的private静态方法只能被类C中的其它静态方法调用 D 类C中的public静态方法可以被子类直接访问 而不需要用类名引用方法 20 已知 class Base class Derived extends Base public static void main String args Base base new Base Derived derived new Derived 则下面表达式在横线处值为true的是 A base instanceof Derived B base instanceof Object C derived instanceof Base D derived instanceof Derived 21 下面哪些类型属于引用类型 A int B Integer C char D String 22 下面选项中哪些不是Java关键字 A NULL B instanceof C sizeof D interface 三 判断题 1 一个源文件中可以包含多个公共类 2 一个源文件中只能包含一个类 3 java中的标识符可以是任意长度 4 如果源文件中包含public类 源文件的文件名必须与public类名相同 四 填空题 1 面向对象程序设计的特征 和 2 接口是由 和 组成的特殊类 3 用static修饰的方法是 4 在产生异常的方法声明中声明会产生的异常 向更高一级方法抛出异常的关键字是 5 子类通过 关键字调用父类的构造方法 6 Java 的标准输出流是 7 使用 关键字可以明确地抛出一个异常 8 实现继承的关键字是 9 用户不能直接调用构造方法 只能通过 关键字自动调用 10 在 Java 中 由 Java 编译器自动导入 而无需在程序中用 import 导入的包是 11 定义包的关键字 12 在 Java 中 能实现多重继承效果的方式是 13 创建包的语句应该放在程序的位置为 14 用 关键字修饰的类只能被继承 不能生成其对象 15 Java 不支持多重继承 但可通过 实现多继承 16 对外界隐藏内部数据 外界只能通过提供的public方法访问被隐藏的内部数据 称为数据的 17 API的全称是 18 类体的两个重要组成部分是 和 19 A collection of methods with no implementation is called an 20 A namespace that organizes classes and interfaces by functionality is called a 21 在 内定义的变量称为局部变量 22 Java支持的8种基本数据类型是 五 编程题 1 定义一个学生类 Student 包括 ID name sex age 等成员变量 要求有构造方法并有构造 方法的重载 有相关成员方法来设置及获取其成员变量的值用输出成员信息的成员方法 并创 建一个测试类 用不同的构造方法创建 2 个 Student 类的对象 调用相关的方法设置对象的成员 变量值 并输出相关信息 2 创建一个 Rectangle 类 该类拥有属性 length 和 width 每个属性的默认值均为 1 该类拥有 方法 perimeter 和 area 分别用于计算矩形的周长和面积 该类还有设置和读取属性 length 和 width 的方法 并测试 Rectangle 类的使用 3 创建一个名为 Fan 的类来模拟风扇 该类包含属性 speed on radius 有合适 的构造方法 此外还要求提供一个方法用来设置风扇的速度和开关状态等信息 另外 编写一个类来测试 Fan 的使用 4 创建一个名为 Dog 的类 它包含 2 个 String 域 name 和 says 在 main 方法中 创建两个 Dog 对象 一个名为 spot 它的叫声为 Ruff 另一个名为 scruffy 它的叫声为 wurf 然后显示它 们的名字和叫声 5 设计一个银行账户类 其中包括 账户信息 账号 姓名 开户时间 身份证号码 账户上 的金额等成员 有 存款方法 取款方法 显示开户时间的方法 获得账上的金额的方法等 并编写测试类 6 设计一个简单的计算器 输入两个数和一个四则运算符 计算后输出相应的运算结果 参考 第 10 章 输入输出流 7 构造一个类来描述屏幕上的一个点 该类的构成包括点的 x 和 y 两个坐标 以及一些对点进 行的操作 包括 取得点的坐标值 对点的坐标进行赋值 编写应用程序生成该类的对象并对 其进行操作 OOPOOP基础试题答案基础试题答案 一 单项选择 BCAD 可以通过编译 但有运行时异常 NullPointerException 不能计算s length A DAD B中的m 无法覆盖 A 中的 m 被覆盖的方法为 final D 找不到符号符号 构造函数 Base 位置 类 Base C DBDCB ADBDA 二 多项选择题 1 AC2 AD3 BD4 ABC5 BCD6 C7 BC8 AD9 ABD10 AC 11 AC12 CD13 BD14 ABC15 ABD16 ABC17 CD18 AC19 BD 20 BCD21 ABD22 AC 三 判断题 F F T T 四 填空题 1 封装性 继承 多态性 2 抽象方法 常量 3 静态方法 或类方法 4 throws 5 super 6 System out 7 Throw 8 Extends 9 New 10 java lang 11 Package 12 实现多个接口 13 非注释的第一行 14 Abstract 15 接口 interface 16 封装17 Application Programming Interface 18 成员变量和成员方法 19 interfaceinterface 20 packagepackage2121 方法体 22 byte byte short short int int long long float float double double boolean boolean charchar 五 编程题 1 class Student String id name char sex int age Student id 100001 name Mike sex M age 18 Student String id String name char sex int age this id id this name name this sex sex this age age void setId String s id s String getId return id void setName String s name s String getName return name void setSex char c sex c char getSex return sex void setAge int i age i int getAge return age void outStudentMes System out println id id name name sex sex age age public class StudentDemo public static void main String args Student student1 new Student Student student2 new Student 100002 Anna F 19 student1 outStudentMes student2 outStudentMes 2 public class Rectangle private int length 1 private int width 1 public void setLength int l length l public int getLength return length public void setWidth int w width w public int getWidth return width public int perimeter return 2 width length public int area return width length public static void main String args Rectangle rect1 new Rectangle System out println area rect1 area perimeter rect1 perimeter rect1 setLength 5 rect1 setWidth 3 System out println area rect1 area perimeter rect1 perimeter 3 略 4 class Dog String name says Dog String n String s name n says s public void printInfo System out println name name says says public static void main String argv Dog dog1 new Dog spot Ruff Dog dog2 new Dog scruffy wurf dog1 printInfo dog2 printInfo 5 import java text SimpleDateFormat import java util import java io class Account 账号 姓名 身份证号码 账户上的金额等账户信息的声明 private Date date new Date date 表示开户时间 private String accountNum private String name private String id private double balance publicAccount String a String n String i accountNum a name n id i date setTime System currentTimeMillis 存款方法 public double deposit double amount return balance amount 取款方法 public double draw double amount if amount 0 break catch Exception e System out println 输入金额有误 请重试 打印你目前帐上的金额 account printBalance 对账户 account1 再次进行取款操作 while true System out println 请输入需取出的金额 String str7 br1 readLine 对账户 account1 进行存款操作 try double amount Double parseDouble str7 if account draw amount 0 break catch Exception e System out println 输入金额有误 请重试 打印你目前帐上的金额 account printBalance BufferedReaderin newBufferedReader new InputStreamReader System in try String line in readLine catch IOException e 6 一个简单的计算器 输入输出流 import java io class Calculate1 public static void main String args int c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论