1、java面向对象考题和答案java面向对象考题和答案1.下面代码的输出结果是:2.public class Main 3. public static void main(String args) 4. int n = 100;5. int m = 200;6. 7. 8. 9. public static int f(int m, int n) 10. n = m+n;11. return n;12. 13. 300 100 100 300 2.程序执行的结果是:3.public class Test 4. public static void main(String args) 5. in
2、t x = 6;6. Test p = new Test();7. (x);8. main: x = + x);9. 10. void doStuff(int x) 11. doStuff:x = + x+);12. 13.A.doStuff:x =7B. main: x = 7 :x =7 main: x = 6:x =6 main: x = 7:x =6 main: x = 63.下列关于JVM的内存结构描述正确的是: A.类的各种信息在方法区中保存 B.堆用于存放程序运行过程当中所有的局部变量 C.栈用于存储使用new关键字创建的对象 D.数组属于JVM的内存结构4.下列代码的输出结果是
3、:5.public class Test 6. public void print(char c) 7. c);8. 9.10. public void print(int i) 11. i);12. 13.14. public void print(double d) 15. d);16. 17. public void print(String s) 18. s);19. 20. public static void main(String args) 21. Test test=new Test();22. (5);23. 24. 5.程序执行的结果是:6.public class Te
4、st 7. String name=Tom;8. public Test(String name)9. name=name;10. 11. public static void main(String args)12. Test t = new Test(Jack);13. 14. 15. D. 6.关于构造方法,下列说法错误的是: A.构造方法不可以进行方法重写 B.构造方法用来实例化一个新的对象 C.构造方法具有和类名相同的名称 D.构造方法不返回任何数据类型7.关于 Java 中继承的特点,下列说法正确的是: A.使类的定义复杂化 只支持单继承,不可多继承,但可以通过实现接口来达到多继承
5、的目的 C.子类继承父类的所有成员变量和方法,包括父类的构造方法 D.不可以多层继承,即一个类不可以继承另一个类的子类8.下列代码运行的结果是:class Foo public int a; public Foo() a = 3; public void addFive() a += 5; class Bar extends Foo public int a; public Bar() a = 8; public void addFive() += 5; public class TestFoo public static void main(String args) Foo foo = ne
6、w Bar(); (); Value: + ; : 3 : 8 : 13 : 189.下列代码编译和运行的结果是:10.class Person 11. String name = No name;12.13. public Person(String nm) 14. name = nm;15. 16.17.class Employee extends Person 18. String empID = 0000;19.20. public Employee(String id) 21. empID = id;22. 23.24.public class EmployeeTest 25. pu
7、blic static void main(String args) 26. Employee e = new Employee(4321);27. 28. 29.A.输出:0000 B.输出:4321C.代码public Employee(String id) 行,出现编译错误D.抛出运行时异常10.下列代码的运行结果是:11.public class Animal 12. public String noise() 13. return peep;14. 15. public static void main(String args) 16. Animal animal = new Dog
8、();17. Cat cat = (Cat)animal;18. 19. 20.21.class Dog extends Animal 22. public String noise() 23. return bark;24. 25.26.class Cat extends Animal 27. public String noise() 28. return meow; A.peep D.抛出运行时异常11.下列代码编译和运行的结果是:public class A public void start() TestA); public class B extends A public void
9、 start() TestB); public static void main(String args) ( (A) new B( ) ).start(); A.输出:TestA B.输出:TestB C.输出:TestA TestB D.编译错误12.请看下列代码:class One void foo() class Two extends One protected void foo() /* more code here */ C. public void foo() /* more code here */ D. private void foo() /* more code her
10、e */ 13.下列选项中,不属于Java 的访问修饰符的是: 14.下列代码的输出结果是:15.class Foo 16. private int x;17. public Foo(int x) 18. = x;19. 20. public void setX(int x) 21. = x;22. 23. public int getX() 24. return x;25. 26.27.public class Gamma 28. static Foo fooBar(Foo foo) 29. foo = new Foo(100);30. return foo;31. 32. public s
11、tatic void main(String args) 33. Foo foo = new Foo(300);34. + -);35. Foo fooFoo = fooBar(foo);36. + -);37. + -);38. foo = fooBar(fooFoo);39. + -);40. 41. 42. 15.下列代码运行的结果是:16.public class Base 17. public static final String FOO = foo;18.class Sub extends Base 19. public static final String FOO = bar
12、;20.21. public static void main(String args) 22. Base b = new Base();23. Sub s = new Sub();24. 25. 26. 27. 28. s).FOO);29. 30.31.A.foofoofoofoofoo 16.关于下列代码说法正确的是:17.public class ItemTest 18. private final int id;19. public ItemTest(int id) 20. = id;21. 22. public void updateId(int newId) 23. id = n
13、ewId;24. 25. public static void main(String args) 26. ItemTest fa = new ItemTest(42);27. (69);28. 29. 30.A.编译错误B.运行时抛出异常C.运行后,fa对象属性id的值没有改变,应然是42D.运行后,fa对象属性id的值改变成新的值6917.请看下列代码编译和运行的结果是:18.public class Student private String name=sun; public static void main(String args) Student students=new Stud
14、ent2; A.sun 2 2 1D.运行时抛出NullPointerException异常18.下列代码的输出结果是:19.abstract class Vehicle 20. public int speed() 21. return 0;22. 23.24.class Car extends Vehicle 25. public int speed() 26. return 60;27. 28.29.class RaceCar extends Car 30. public int speed() 31. return 150;32. 33.34.public class TestCar
15、35. public static void main(String args) 36. RaceCar racer = new RaceCar();37. Car car = new RaceCar();38. Vehicle vehicle = new RaceCar();39. + , + () + , 40. + ();41. 42., 0,0 , 60, 0, 150, 150 D.抛出运行时异常19.请看下列代码:public abstract class Employee protected abstract double getSalesAmount(); public dou
16、ble getCommision() return getSalesAmount() * ;estA() class Sales extends Employee 在处填入的方法正确的是: getSalesAmount() return ; double getSalesAmount() return ; double getSalesAmount() return ; double getSalesAmount() return ; 20.关于下列代码说法正确的是:public interface A public void doSomething(String thing);public
17、class AImpl implements A public void doSomething(String msg) public class B public A doit() return null; public String execute() return null; public class C extends B public AImpl doit() return null; public Object execute() return null; A. 所有类和接口都编译成功 B.类B编译失败 C.类Aimpl编译失败 D.类C编译失败 21.关于下列代码说法正确的是:i
18、nterface A public void aMethod();interface B public void bMethod();interface C extends A, B public void cMethod();class D implements B public void bMethod() class E extends D implements C public void aMethod() public void bMethod() public void cMethod() A.编译失败 B.如果定义D e = new E();, 那么 ();调用D类的bMetho
19、d()方法C.如果定义D e = (D)(new E();, 那么 ();调用D类的bMethod()方法 D.如果定义D e = (D)(new E();, 那么 ();调用E类的bMethod()方法22.请看下列代码:public class UserRequest public void request(ServletAction action) (); public static void main(String args) UserRequest user = new UserRequest(); (new ServletAction() public void doService
20、() 处理请求); ); 如果上述代码采用回调模式编写,下列关于ServletAction的定义正确的是: A. public static class ServletAction public void doService(); final class ServletAction public void doService(); class ServletAction public void doService(); D. public interface ServletAction public void doService();23.下列代码运行的结果是:24.public class
21、Hello 25. String title;26. int value;27. public Hello() 28. title += World;29. 30. public Hello(int value) 31. = value;32. title = Hello;33. 34. public static void main(String args) 35. Hello c = new Hello(5);36. 37. 38.A.Hello B. Hello WorldC. Hello World 5D.运行后无输出24.请看下列代码编译和运行的结果是:25.interface Te
22、stA 26. String toString();27.28.public class Test 29. public static void main(String args) 30. TestA() 31. public String toString() 32. return test;33. ); A.输出:test B.输出:nullC.代码 TestA() 行,编译出错D.代码public String toString() 行,编译出错25.请看下列代码:1)public class Outer 2) void fn(int i) 3) class Inner 4) void
23、print() 5) 6) 7) 8) Inner in = new Inner();9) ();10) 11)12)class Test 13) public static void main(String args)14) Outer out=new Outer();15) (100);16) 17)关于上述代码说法正确的是: A.在第5行出现编译错误,fn方法的参数必须用final修饰 B.在第3行出现编译错误,在方法的内部不能写类 C.在第8行出现编译错误,在方法的内部不能实例化Inner类的对象 D.运行代码,控制台输出100A1,正确答案:C2,正确答案:D3,正确答案:A4,正确答案:A5,正确答案:B6,正确答案:B7,正确答案:B8,正确答案:A9,正确答案:C10,正确答案:D11,正确答案:B12,正确答案:BC13,正确答案:C14,正确答案:B15,正确答案:D16,正确答案:A17,正确答案:D18,正确答案:C19,正确答案:BD20,正确答案:D21,正确答案:D22,正确答案:D23,正确答案:A24,正确答案:A25,正确答案:A
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1