《JAVA面向对象基础测试题-继承-封装-多态等测试题(30页).docx》由会员分享,可在线阅读,更多相关《JAVA面向对象基础测试题-继承-封装-多态等测试题(30页).docx(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-JAVA面向对象基础测试题-继承-封装-多态等测试题-第 30 页 JAVA面向对象基础测试题 提示:本题为第一阶段,JAVA面向对象基础部分练习题,包括对象,类,继承,封装,多态,接口,内部类等等,java核心基础,适合初学者对面向对象基础的知识进行测试,以便查漏补缺。1.程序执行的结果是:()。01public class Point02 int y = 7;03 public void step(int y) 04 y += y;05 System.out.println(y);0607 public static void main(String args) 08 Point p =
2、 new Point();09 p.step(10);1011 A.14 B.20 C.10 D.17正确答案:B解析:2.程序的执行结果是:()。01public class Question 02 private int num;03 public static void main(String args)04 Question q = new Question();05 q.num=13;06 update(q);07 System.out.println(q.num);0809 public static void update(Question q)10 q.num=9;1112 A
3、.13 B.9 C.0 D.4正确答案:B解析:3.程序执行的结果是:()。01public class Answer 02 public static void main(String args) 03 int score = 20;04 Answer ans= new Answer();05 ans.add(score);06 System.out.println( main: score = + score);0708 void add(int score) 09 System.out.println( add: score= + score+);1011 A.1add: score=2
4、12 main: score = 21 B.1add: score=202 main: score = 21 C.1add: score=212 main: score = 20 D.1add: score=202 main: score = 20正确答案:D解析:4.下列代码编译或运行的结果是:()。01public class Snow02 public String jump(int x, int y) 03 return jump one;0405 public String jump(int vals) 06 return jump two;0708 public static vo
5、id main(String args) 09 Snow s=new Snow();10 System.out.println(s.jump(4, 5);1112 A.public String jump(int vals) 行,编译出错 B.System.out.println(s.jump(4, 5);行,抛出运行时异常 C.输出:jump one D.输出:jump two正确答案:C解析:5.关于下列代码说法正确的是:()。01public class Storm 02 public void find() 0304 public String find() 05 return fin
6、d;0607 public double find(int x) 08 return 2.0;0910 A.无编译错误 B.代码 public String find() 行,出现编译错误 C.代码 public double find(int x) 行,出现编译错误 D.代码 return find;行处出现编译错误正确答案:B解析:6.请看下列代码:01class ClassA 02class ClassB extends ClassA 03class ClassC extends ClassA 04public class Test05 public static void main(S
7、tring args) 06 ClassA p0 = new ClassA();07 ClassB p1 = new ClassB();08 ClassC p2 = new ClassC();09 ClassA p3 = new ClassB();10 ClassA p4 = new ClassC();11 1213下列选项中放置在处,使程序编译正确的是:()。 A.p0 = p1; B.p1 =p2; C.p2 = p4; D.p2 = (ClassC)p1;正确答案:A解析:7.下列代码的运行结果是:()。01public class Animal 02 public String noi
8、se() 03 return Animal;0405 public static void main(String args) 06 Cat cat = null;07 Animal animal = new Dog();08 if (animal instanceof Cat) 09 cat = (Cat) animal;10 System.out.println(cat.noise();11 else 12 System.out.println(animal is not Cats instance);13141516class Dog extends Animal 17 public S
9、tring noise() 18 return Dog;192021class Cat extends Animal 22 public String noise() 23 return Cat;2425 A.Animal B.Dog C.Cat D.animal is not Cats instance正确答案:D解析:8.请看下列代码编译和运行的结果是:()。1public class Teacher 2 private String name=sun;3 public static void main(String args) 4 Teacher teachers=new Teacher
10、2;5 System.out.println(teachers0.name);6 System.out.println(teachers.length);78 A.sun 2 B.null 2 C.null 1 D.运行时抛出NullPointerException异常正确答案:D解析:9.下列代码编译和运行的结果是:()。01class Person 02 String name = ;0304 public Person(String name) 05 this.name = name;06070809class Employee extends Person 10 String empN
11、O = 0000;1112 public Employee(String empNO) 13 this.empNO = empNO;14151617public class EmployeeTest 18 public static void main(String args) 19 Employee e = new Employee(1109);20 System.out.println(e.empNO);2122 A.输出:0000 B.输出:1109 C.代码public Employee(String empNO) 行,出现编译错误 D.抛出运行时异常正确答案:C解析:10.下列代码编
12、译和运行的结果是:()。01class A 02 public void start() 03 System.out.println(A Start);040506public class B extends A 07 public void start() 08 System.out.println(B Start);0910 public static void main(String args) 11 (A) new B().start();1213 A.输出:A Start B.输出:B Start C.输出:A Start B Start D.编译错误正确答案:B解析:11.关于下列
13、代码说法正确的是:()。01public interface A 02 public void doSomething(String thing);0304interface B 0506interface C extends A, B 0708interface D 09 public void doIt(String thing);1011class AImpl implements C ,D12 public void doSomething(String msg) 13 public void doIt(String thing) 14 A.所有类和接口都编译成功 B.接口A编译失败
14、C.类AImpl编译失败 D.接口C编译失败正确答案:A解析:12.在 Java 中,关于 final 关键字的说法正确的是:()。 A.如果修饰局部变量,必须定义时初始化 B.如果修饰类,则该类只能被一个子类继承 C.如果修饰方法,则该方法不能在子类中被覆盖 D.如果修饰方法,则该方法所在的类不能被继承正确答案:C解析:13.关于下列代码说法正确的是:()。01public class Cell 02 private final int id;03 public Cell(int id) 04 this.id = id;0506 public void updateId(int id) 07
15、 this.id = id;0809 public static void main(String args) 10 Cell cell = new Cell(1001);11 cell.updateId(1002);12 System.out.println(cell.id);1314 A.编译错误 B.运行时异常抛出 C.运行后,cell对象属性id的值没有改变,仍然是1001 D.运行后,cell对象属性id的值改变成新的值1002正确答案:A解析:14.下列选项中,不属于Java 的访问控制修饰符的是:()。 A.private B.protected C.friendly D.pub
16、lic正确答案:C解析:15.下面关于import, class和package的声明顺序正确的是:()。 A.package, import, class B.class, import, package C.import, package, class D.package, class, import正确答案:A解析:16.有一个名为Product的类,下列方法中属于该类的构造方法的是:()。 A.public Product() B.public Product(String name) C.public void Product() D.public void Product(Stri
17、ng name)正确答案:AB解析:17.请看下列代码:1public class Tetromino 2 protected int move(int x) 3 return 0;456class T extends Tetromino 7 8在处填入选项中的代码,使T类没有编译错误的是:()。 A.public int move(int x) return 0; B.private int move(int x) return 0; C.private int move(long x) return 0; D.protected long move(int x) return 0; 正确答
18、案:AC解析:18.下列关于JVM的内存结构描述正确的是:()。 A.类的各种信息在堆中保存 B.栈用于存放程序运行过程当中所有的局部变量 C.堆一般用于存储使用new关键字创建的对象 D.类是JVM的内存结构正确答案:BC解析:19.请看下列代码:1public class Foo 2 static void alpha() /* more code here */3 void beta() /* more code here */4下列说法正确的是:()。 A.Foo.beta()是调用beta方法的正确方式 B.Foo.alpha()是调用alpha方法的正确方式 C.beta方法可以直接调用alpha方法 D.alpha方法可以直接调用beta方法正确答案:BC解析:20.请看下列代码:1public class Line 2 private Point p;3 public Line() 4 56 public class Point 7在处,需要创建Point类的对象,下列选项正确的是:()。 A.super.p = new Point(); B.p = super.new Point(); C.p =new Point(); D.p =this.new Point();正确答案:CD解析: