J A V A面向对象基础测试题-继承-封装-多态等测试题JAVA面向对象基础测试题提示:本题为第一阶段,JAVA面向对象基础部分练习题,包括对象,类,继承,封装,多态,接口,内部类等等,java核心基础,适合初学者对面向对象基础的知识进行测试,以便查漏补缺。
1.程序执行的结果是:()。
01public class Point{02int y = 7;03public void step(int y) {04y += y;05System.out.println(y);06}07public static void main(String[] args) {08Point p = new Point();09p.step(10);10}11}A.14B.20C.10D.17正确答案:B解析:2.程序的执行结果是:()。
01public class Question {02private int num;03public static void main(String [] args){04Question q = new Question();q.num=13;06update(q);07System.out.println(q.num);08}09public static void update(Question q){10q.num=9;11}12}A.13B.9C.0D.4正确答案:B解析:3.程序执行的结果是:()。
01public class Answer {02public static void main(String[] args) {03int score = 20;04Answer ans= new Answer();05ans.add(score);06System.out.println(" main: score = " + score);07}08void add(int score) {09System.out.println(" add: score=" + score++);10}11A.1add: score=212main: score = 21B.1add: score=202main: score = 21C.1add: score=212main: score = 20D.1add: score=202main: score = 20正确答案:D解析:4.下列代码编译或运行的结果是:()。
01public class Snow{02public String jump(int x, int y) {03return "jump one";04}05public String jump(int[] vals) {06return "jump two";07}08public static void main(String[] args) { 09Snow s=new Snow();10System.out.println(s.jump(4, 5));}12}A.public String jump(int[] vals) {行,编译出错B.System.out.println(s.jump(4, 5));行,抛出运行时异常C.输出:jump oneD.输出:jump two正确答案:C解析:5.关于下列代码说法正确的是:()。
01public class Storm {02public void find() {03}04public String find() {05return "find";06}07public double find(int x) {08return 2.0;09}10}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 {}public class Test{05public static void main(String[] args) {06ClassA p0 = new ClassA();07ClassB p1 = new ClassB();08ClassC p2 = new ClassC();09ClassA p3 = new ClassB();10ClassA p4 = new ClassC();11<插入代码>12}13}下列选项中放置在<插入代码>处,使程序编译正确的是:()。
A.p0 = p1;B.p1 =p2;C.p2 = p4;D.p2 = (ClassC)p1;正确答案:A解析:7.下列代码的运行结果是:()。
01public class Animal {02public String noise() {03return "Animal";04}05public static void main(String[] args) {06Cat cat = null;07Animal animal = new Dog();08if (animal instanceof Cat) {cat = (Cat) animal;10System.out.println(cat.noise());11} else {12System.out.println("animal is not Cat's instance");13}14}15}16class Dog extends Animal {17public String noise() {18return "Dog";19}20}21class Cat extends Animal {22public String noise() {23return "Cat";24}25}A.AnimalB.DogC.CatD.animal is not Cat's instance正确答案:D解析:8.请看下列代码编译和运行的结果是:()。
1public class Teacher {2private String name="sun";3public static void main(String[] args) {4Teacher[] teachers=new Teacher[2];5System.out.println(teachers[0].name);6System.out.println(teachers.length);7}8}A.sun 2B.null 2C.null 1D.运行时抛出NullPointerException异常正确答案:D解析:9.下列代码编译和运行的结果是:()。
01class Person {02String name = " ";0304public Person(String name) {05 = name;06}07}0809class Employee extends Person {10String empNO = "0000";1112public Employee(String empNO) {this.empNO = empNO;14}15}1617public class EmployeeTest {18public static void main(String[] args) {19Employee e = new Employee("1109");20System.out.println(e.empNO);21}22}A.输出:0000B.输出:1109C.代码public Employee(String empNO) {行,出现编译错误D.抛出运行时异常正确答案:C解析:10.下列代码编译和运行的结果是:()。
01class A {02public void start() {03System.out.println("A Start");04}05}06public class B extends A {07public void start() {08System.out.println("B Start");0910public static void main(String[] args) { 11((A) new B()).start();12}13}A.输出:A StartB.输出:B StartC.输出:A Start B StartD.编译错误正确答案:B解析:11.关于下列代码说法正确的是:()。
01public interface A {02public void doSomething(String thing);03}04interface B {05}06interface C extends A, B {07}08interface D {09public void doIt(String thing);10}11class AImpl implements C ,D{12public void doSomething(String msg) {} 13public void doIt(String thing) {}14}A.所有类和接口都编译成功B.接口A编译失败C.类AImpl编译失败D.接口C编译失败正确答案:A解析:12.在 Java 中,关于 final 关键字的说法正确的是:()。
A.如果修饰局部变量,必须定义时初始化B.如果修饰类,则该类只能被一个子类继承C.如果修饰方法,则该方法不能在子类中被覆盖D.如果修饰方法,则该方法所在的类不能被继承正确答案:C解析:13.关于下列代码说法正确的是:()。
01public class Cell {02private final int id;03public Cell(int id) {04this.id = id;05}06public void updateId(int id) {07this.id = id;08}09public static void main(String[] args) {10Cell cell = new Cell(1001);11cell.updateId(1002);12System.out.println(cell.id);13}14}A.编译错误B.运行时异常抛出C.运行后,cell对象属性id的值没有改变,仍然是1001D.运行后,cell对象属性id的值改变成新的值1002正确答案:A解析:14.下列选项中,不属于Java 的访问控制修饰符的是:()。