2.Java面向对象知识测试C卷答案(DOC)

合集下载

2.Java面向对象知识测试 - 含答案

2.Java面向对象知识测试 - 含答案

单选题:(每道题目2分)1:下列有关类、对象和实例的叙述,正确的是哪一项?()A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别B.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称C.类是对象的抽象,对象是类的具体化,实例是类的另一个名称D.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称2:类Student中成员变量声明正确的是哪一项? ()A.class Student{name;age;}B.class Student{String name = 1.0;int age = “26”;}C.class Student{String name;int age;}D.class Student{String name,int age;}3:类Student中成员方法声明正确是哪一项?()A:class Student{public show(){}}B:class Student{public void show();}C:class Student{public void show(){}}D:class Student{show(){}}4:类Student中构造方法声明正确的是哪一项? () A:class Student{public Student()}B:class Student{public Student(){}}C:class Student{public void Student(){}}D:class Student{new Student(){}}5:下列哪一项不是面向对象的三大特征之一? ()A:封装B:抽象C:继承D:多态6:下列关于封装说法不正确的是?()A:封装可以提高代码的安全性。

B:封装是指隐藏实现细节,提高公共的访问方式。

C:类或者方法也是封装的一种体现。

D:仅仅private修饰的内容才是封装的体现。

7:下列哪个方法和int sum(int a,int b)是重写方法?() A:public void sum(int a,int b)B:public int sum(int a,int b)C:int sum(int a,int b,int c)D:void sum(int c,int b)8:下列程序的运行结果是:()class Test{private static int x = 10;public void show(int x){x++;System.out.println(x);}public static void main(String[] args){int x = 20; //局部变量覆盖成员变量Test t = new Test();t.show(x);}}A:10B:21C:11D:209:在子类中调用父类中被重写的方法时需要使用哪个关键字?() A.thisB.newC.superD.以上都不是10:如果想一个类不能被子类继承的话,用下列哪个修饰符? () A:staticB:abstractC:privateD:final11:有如下两个类,在main方法中下面哪个做法是错误的?() class Animal{}class Dog extends Animal{}A:Animal a = new Animal();B:Dog d = new Dog();C: Animal a = new Dog();D:Dog d = new Animal();12:下列有关抽象类的叙述正确的是哪项?() A:抽象类中一定含有抽象方法B:抽象类既能被实例化也能被继承C:抽象类的声明必须包含abstract关键字D:抽象类中不能有构造方法13:下列有关接口的叙述错误的是哪项?() A:接口中只能包含抽象方法和常量B:一个类可以实现多个接口C:具体类实现接口时必须实现其中的方法D:接口不能被继承14:下列程序的运行结果是:()class Fu{public int num = 10;}class Zi extends Fu{public int num = 20;}class Testpublic static void main(String[] args) {Fu f = new Zi();System.out.println(f.num);Zi z = (Zi)f;System.out.println(z.num);}}A:10,10B:20,20C:10,20D:20,1015:下列程序的运行结果是:()class Fu{public void show(){System.out.println("fu show");}}class Zi extends Fu{public void show(){System.out.println("zi show");}public void method(){System.out.println("zi method");}}class Test{public static void main(String[] args){Fu f = new Zi();f.method();}}A:fu showB:zi showC:编译报错D:zi method16:关于代码块说法错误的是?()A:静态代码块在类加载的时候执行一次,在创建对象的时候不在执行了。

Java面向对象编程练习试题包括答案.docx

Java面向对象编程练习试题包括答案.docx

【练习题】 01. 类的成员变量:猜数字游戏:一个类 A 有一个成员变量 v,有一个初值 100。

定义一个类,对 A 类的成员变量 v 进行猜。

如果大了则提示大了,小了则提示小了。

等于则提示猜测成功。

import .*;class A{int v = 100;A(){=v;}}public class b01{public static void main(String args[]){A a = new A();Scanner intput = new Scanner;int intputvalue = ();if(intputvalue>"你的输入大于这个值 ");if(intputvalue<"你的输入小于这个值 ");if(intputvalue=="猜测成功 ");}}【练习题】 02. 类的成员变量:请定义一个交通工具 (Vehicle)的类,其中有:属性:速度 (speed) ,体积 (size)等等方法:移动 (move()) ,设置速度 (setSpeed(int speed)),加速speedUp(),减速speedDown()等等 .最后在测试类Vehicle 它初始化 speed,size 对速度进行改变。

中的 main() 中实例化一个交通工具对象,并通过方法给的值,并且通过打印出来。

另外,调用加速,减速的方法class Vehicle{int speed;int size;void move(){};void setSpeed(int speed){ = speed;}void speedUp(){speed = speed+1;=speed;}void speedDown(){speed = speed-1;=speed;}}public class b01{ public static void main(String args[]){Vehicle a = new Vehicle();(55);=80;();"Speed:"++"\nsize:"+;}}【练习题】 03. 类的成员变量与方法、构造方法在程序中,经常要对时间进行操作,但是并没有时间类型的数据。

JAVA考核题-面向对象选择题(答案)

JAVA考核题-面向对象选择题(答案)

北润JAVA考核-面向对象第一部分英语测试(每题分,共分)第二部分知识点测试(分)一、选择题(每题2分,共110分)1.下面关于变量及其作用范围的陈述哪个是不对的?(B )A.实例变量是类的成员变量。

B.实例变量用关键字static声明。

C.在方法中定义的局部变量在该方法被执行时创建。

D.局部变量在使用前必须被初始化。

2.下面哪条语句把方法声明为抽象的公共方法?(B )A.public abstract method(); B.public abstract void method();C.public abstract void method(){} D.public void method() extends abstract;3.若在某一个类定义中定义有如下的方法:final void aFinalFunction( ){}则该方法属于( C )。

A、本地方法B、静态方法C、最终方法D、抽象方法4.main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( B )。

A、public static void main()B、public static void main(String[ ] args)C、public static int main(String[ ] args)D、public void main(String arg[ ])5.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。

这种面向对象程序的特性称为( C )。

A、隐藏B、覆盖C、重载D、Java不支持此特性6.下列关于构造方法的叙述中,错误的是(C )A.Java语言规定构造方法名与类名必须相同B.Java语言规定构造方法没有返回值,但不用void声明C.Java语言规定构造方法不可以重载D.Java语言规定构造方法只能通过new自动调用7.关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C )A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问8.类Test1定义如下:1. public class Test1{2.public floataMethod(float a, float b){}3.4.}将以下哪种方法插入行3是不合法的。

java面向对象试卷及答案汇总

java面向对象试卷及答案汇总

java面向对象程序设计系班级姓名成绩A.没有区别,这两个结构任何情况下效果一样B.while循环比do…while循环执行效率高C.do…while循环执行次数可能为0D.while循环执行次数可能为06.关于for循环和while循环的说法哪个正确?()A.while循环先判断后执行,for循环先执行后判断。

B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换D.两种循环结构中都必须有循环体,循环体不能为空7.下列修饰符中与访问控制无关的是()A.private B.publicC.protected D.final8.方法内的形参:()A.必须定义多个形参B.可以没有C.至少有一个D.只能是简单变量9.throws的作用:()A.表示方法可能会抛出例外B.表示后面是方法的输出量C.方法的标志,每个方法都必须有D.没有意义10.在Java语言中,整型常量123占用的存储字节数是:()A.1B.2C.4 D.811.关于对象成员占用内存的说法哪个正确?()A.同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对12.return语句:()A.只能让方法返回数值B.方法都必须含有C.方法中可以有多句return D.不能用来返回对象13.下列说法哪个正确?()A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用14.关于方法main()的说法哪个正确?()A.方法main()只能放在公共类中B.main()的头定义可以根据情况任意更改C.一个类中可以没有main()方法D.所有对象的创建都必须放在main()方法中15.构造函数何时被调用?()A、创建对象时B、类定义时C、使用对象的方法时D、使用对象的属性时16.抽象方法:()A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法17.关于继承的说法正确的是:()A、子类将继承父类所有的属性和方法。

java面向对象编程练习题及答案

java面向对象编程练习题及答案

java面向对象编程练习题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?A. structB. classC. interfaceD. enum2. Java中的继承是:A. 多重继承B. 单一继承C. 无继承D. 可选继承3. 以下哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. 所有选项都是4. 以下哪个不是Java对象的三个基本特征?A. 封装B. 继承C. 多态D. 线程5. 以下哪个方法用于获取对象的内存地址?A. hashCode()B. equals()C. getClass()D. toString()二、简答题1. 解释Java中的封装是什么,并给出一个封装的例子。

2. 描述Java中的继承是如何工作的,并给出一个继承的例子。

3. 解释Java中的多态性,并给出一个多态性的例子。

三、编程题1. 创建一个名为`Car`的类,它具有以下属性:- 品牌(String)- 型号(String)- 年份(int)并为这些属性提供getter和setter方法。

2. 创建一个名为`ElectricCar`的类,它继承自`Car`类,并添加以下属性:- 电池电量(int)实现`ElectricCar`类,并重写`toString()`方法,以显示电动汽车的详细信息。

3. 创建一个名为`VehicleTest`的类,它包含`main`方法。

在`main`方法中,创建`Car`和`ElectricCar`的实例,并打印它们的状态。

四、代码分析题1. 阅读以下Java代码片段,并解释它的作用:```javapublic class Person {private String name;private int age;public Person(String name, int age) { = name;this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}```2. 阅读以下Java代码片段,并指出可能的错误:```javapublic class Animal {public void speak() {System.out.println("The animal makes a sound");}}public class Dog extends Animal {@Overridepublic void speak() {System.out.println("The dog barks");}}public class Cat extends Animal {@Overridepublic void speak() {System.out.println("The cat meows");}}public class TestAnimals {public static void main(String[] args) {Animal myDog = new Dog();Animal myCat = new Cat();myDog.speak();myCat.speak();}}```五、论述题1. 论述Java面向对象编程中接口与抽象类的区别,并给出使用场景。

Java 面向对象编程练习题及答案

Java 面向对象编程练习题及答案

Java 面向对象编程练习题及答案题目一:洗衣机类设计描述:设计一个洗衣机类,具有以下属性和方法:属性:- 品牌(brand):字符串类型,表示洗衣机的品牌- 容量(capacity):整型,表示洗衣机的容量(以公斤为单位)- 是否开机(isOn):布尔类型,表示洗衣机是否处于开机状态方法:- 开机(turnOn):将洗衣机的状态设置为开机- 关机(turnOff):将洗衣机的状态设置为关机- 洗衣服(washClothes):接收一个整型参数 clothesWeight,表示待洗衣物的重量(以公斤为单位)。

如果洗衣机处于开机状态,并且洗衣机容量足够洗这些衣物,则打印出洗衣机正在洗衣服;否则,打印出洗衣机无法洗衣物。

答案一:```javapublic class WashingMachine {private String brand;private int capacity;private boolean isOn;public WashingMachine(String brand, int capacity) { this.brand = brand;this.capacity = capacity;this.isOn = false;}public void turnOn() {this.isOn = true;}public void turnOff() {this.isOn = false;}public void washClothes(int clothesWeight) {if (isOn && clothesWeight <= capacity) {System.out.println("洗衣机正在洗衣服");} else {System.out.println("洗衣机无法洗衣物");}}}```题目二:学生类设计描述:设计一个学生类,具有以下属性和方法:属性:- 姓名(name):字符串类型,表示学生的姓名- 年龄(age):整型,表示学生的年龄- 成绩(score):整型,表示学生的成绩方法:- 构造方法(Constructor):接收姓名、年龄和成绩作为参数,创建一个学生对象- 获取姓名(getName):返回学生的姓名- 获取年龄(getAge):返回学生的年龄- 获取成绩(getScore):返回学生的成绩答案二:```javapublic class Student {private String name;private int age;private int score;public Student(String name, int age, int score) { = name;this.age = age;this.score = score;}public String getName() {return name;}public int getAge() {return age;}public int getScore() {return score;}}```题目三:图书馆管理系统设计描述:设计一个图书馆管理系统,包含图书(Book)、图书馆(Library)和借阅者(Borrower)三个类。

java面向对象考题和答案

java面向对象考题和答案

1.下面代码的输出结果是:public class Main {public static void main(String[] args) { int n = 100;int m = 200;System.out.println(f(n,m));System.out.println(n);}public static int f(int m, int n) {n = m+n;return n;}}A.300300B.100100C.300100D.1003002.程序执行的结果是:public class Test {public static void main(String[] args) {int x = 6;Test p = new Test();p.doStuff(x);System.out.println(" main: x = " + x); }void doStuff(int x) {System.out.println(" doStuff:x =" + x++); }}A.doStuff:x =7main: x = 7B.doStuff:x =7main: x = 6C.doStuff:x =6main: x = 7D.doStuff:x =6main: x = 63.下列关于JVM的内存结构描述正确的是:A.类的各种信息在方法区中保存B.堆用于存放程序运行过程当中所有的局部变量C.栈用于存储使用new关键字创建的对象D.数组属于JVM的内存结构4.下列代码的输出结果是:public class Test {public void print(char c) {System.out.println("c");}public void print(int i) {System.out.println("i");}public void print(double d) {System.out.println("d");}public void print(String s) {System.out.println("s");}public static void main(String[] args) { Test test=new Test();test.print('5');}}A.cB.iC.dD.s5.程序执行的结果是:public class Test {String name="Tom";public Test(String name){name=name;}public static void main(String [] args){ Test t = new Test("Jack");System.out.println();}}A.nullB.TomC.JackD." "6.关于构造方法,下列说法错误的是:A.构造方法不可以进行方法重写B.构造方法用来实例化一个新的对象C.构造方法具有和类名相同的名称D.构造方法不返回任何数据类型7.关于 Java 中继承的特点,下列说法正确的是:A.使类的定义复杂化B.Java 只支持单继承,不可多继承,但可以通过实现接口来达到多继承的目的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() {this.a += 5;}}public class TestFoo {public static void main(String[] args) {Foo foo = new Bar();foo.addFive();System.out.println("Value: " + foo.a);}}A.Value: 3B.Value: 8C.Value: 13D.Value: 189.下列代码编译和运行的结果是:class Person {String name = "No name";public Person(String nm) {name = nm;}}class Employee extends Person {String empID = "0000";public Employee(String id) {empID = id;}}public class EmployeeTest {public static void main(String[] args) {Employee e = new Employee("4321");System.out.println(e.empID);}}A.输出:0000B.输出:4321C.代码public Employee(String id) {行,出现编译错误D.抛出运行时异常10.下列代码的运行结果是:public class Animal {public String noise() {return "peep";}public static void main(String[] args) {Animal animal = new Dog();Cat cat = (Cat)animal;System.out.println(cat.noise());}}class Dog extends Animal {public String noise() {return "bark";}}class Cat extends Animal {public String noise() {return "meow";}}A.peepB.barkC.meowD.抛出运行时异常11.下列代码编译和运行的结果是:public class A {public void start() {System.out.println("TestA");}}public class B extends A {public void start() {System.out.println("TestB");}public static void main(String[] args) {( (A) new B( ) ).start();}}A.输出:TestAB.输出:TestBC.输出:TestA TestBD.编译错误12.请看下列代码:class One {void foo() {}}class Two extends One {// insert method here}下列选项中的代码,放置在<插入代码>处无编译错误的是: A.int foo() { /* more code here */ }B. protected void foo() { /* more code here */ }C. public void foo() { /* more code here */ }D. private void foo() { /* more code here */ }13.下列选项中,不属于Java 的访问修饰符的是:A.privateB.protectedC.friendlyD.public14.下列代码的输出结果是:class Foo {private int x;public Foo(int x) {this.x = x;}public void setX(int x) {this.x = x;}public int getX() {return x;}}public class Gamma {static Foo fooBar(Foo foo) {foo = new Foo(100);return foo;}public static void main(String[] args) {Foo foo = new Foo(300);System.out.print(foo.getX() + "-");Foo fooFoo = fooBar(foo);System.out.print(foo.getX() + "-");System.out.print(fooFoo.getX() + "-");foo = fooBar(fooFoo);System.out.print(foo.getX() + "-");System.out.print(fooFoo.getX());}}A.300-100-100-100-100B.300-300-100-100-100C.300-300-300-100-100D.300-300-300-300-10015.下列代码运行的结果是:public class Base {public static final String FOO = "foo";16.class Sub extends Base {public static final String FOO = "bar";}public static void main(String[] args) {Base b = new Base();Sub s = new Sub();System.out.print(Base.FOO);System.out.print(Sub.FOO);System.out.print(b.FOO);System.out.print(s.FOO);System.out.print(((Base) s).FOO);}}A.foofoofoofoofooB.foobarfoobarbarC.foobarfoofoofooD.foobarfoobarfoo16.关于下列代码说法正确的是:public class ItemTest {private final int id;public ItemTest(int id) {this.id = id;}public void updateId(int newId) {id = newId;}public static void main(String[] args) {ItemTest fa = new ItemTest(42);fa.updateId(69);System.out.println(fa.id);}}A.编译错误B.运行时抛出异常C.运行后,fa对象属性id的值没有改变,应然是42D.运行后,fa对象属性id的值改变成新的值6917.请看下列代码编译和运行的结果是:public class Student {private String name="sun";public static void main(String[] args) {Student[] students=new Student[2];System.out.println(students[0].name);System.out.println(students.length);}}A.sun 2B.null 2C.null 1D.运行时抛出NullPointerException异常18.下列代码的输出结果是:abstract class Vehicle {public int speed() {return 0;}}class Car extends Vehicle {public int speed() {return 60;}}class RaceCar extends Car {public int speed() {return 150;}}public class TestCar {public static void main(String[] args) {RaceCar racer = new RaceCar();Car car = new RaceCar();Vehicle vehicle = new RaceCar();System.out.println(racer.speed() + ", " + car.speed() + ", " + vehicle.speed());}}A.0, 0,0B.150, 60, 0C.150, 150, 150D.抛出运行时异常19.请看下列代码:public abstract class Employee {protected abstract double getSalesAmount();public double getCommision() {return getSalesAmount() * 0.15;estA() {}}class Sales extends Employee {<插入代码>}在<插入代码>处填入的方法正确的是:A.double getSalesAmount() { return 1230.45; }B.public double getSalesAmount() { return 1230.45; }C.private double getSalesAmount() { return 1230.45; }D.protected double getSalesAmount() { return 1230.45; }20.关于下列代码说法正确的是:public interface A {public void doSomething(String thing);}public 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.关于下列代码说法正确的是:interface 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();, 那么 e.bMethod();调用D类的bMethod()方法C.如果定义D e = (D)(new E());, 那么 e.bMethod();调用D类的bMethod()方法D.如果定义D e = (D)(new E());, 那么 e.bMethod();调用E类的bMethod()方法22.请看下列代码:public class UserRequest {public void request(ServletAction action) {action.doService();}public static void main(String[] args) {UserRequest user = new UserRequest();user.request(new ServletAction() {public void doService() {System.out.println("处理请求");}});}}如果上述代码采用回调模式编写,下列关于ServletAction的定义正确的是:A. public static class ServletAction {public void doService();}B.public final class ServletAction {public void doService();}C.public class ServletAction {public void doService();}D. public interface ServletAction {public void doService();}23.下列代码运行的结果是:public class Hello {String title;int value;public Hello() {title += "World";}public Hello(int value) {this.value = value;title = "Hello";}public static void main(String[] args) { Hello c = new Hello(5);System.out.println(c.title);}}A.HelloB. Hello WorldC. Hello World 5D.运行后无输出24.请看下列代码编译和运行的结果是:interface TestA {String toString();}public class Test {public static void main(String[] args) {System.out.println(new TestA() {public String toString() {return "test";}});}}A.输出:testB.输出:nullC.代码System.out.println(new TestA() {行,编译出错D.代码public String toString() {行,编译出错25.请看下列代码:1)public class Outer {2) void fn(int i) {3) class Inner {4) void print() {5) System.out.println(i);6) }7) }8) Inner in = new Inner();9) in.print();10) }11)}12)class Test {13) public static void main(String args[]){14) Outer out=new Outer();15) out.fn(100);16) }17)}关于上述代码说法正确的是:A.在第5行出现编译错误,fn方法的参数必须用final修饰B.在第3行出现编译错误,在方法的内部不能写类C.在第8行出现编译错误,在方法的内部不能实例化Inner类的对象D.运行代码,控制台输出1002,正确答案:D 3,正确答案:A 4,正确答案:A 5,正确答案:B6,正确答案:B 7,正确答案:B 8,正确答案:A 9,正确答案:C 10,正确答案:D11,正确答案:B 12,正确答案:BC 13,正确答案:C 14,正确答案:B 15,正确答案:D16,正确答案:A 17,正确答案:D 18,正确答案:C 19,正确答案:BD 20,正确答案:D22,正确答案:D 23,正确答案:A 24,正确答案:A 25,正确答案:A。

《Java面向对象程序设计》考试卷及答案带注释

《Java面向对象程序设计》考试卷及答案带注释

一、单选题(每小题1分,共30分)1.在MyEclipse中,()视图可以将项目中包含的文件及层次结构展示出来。

CA) Package B)Declaration C)Navigator D) Console2.下列标识符中,正确的是()。

CA)class B) 123_rr C) _lei D) test&123.下列的()选项可以正确用以表示八进制值8。

0x代表16进制,0代表8进制 D A)0x8 B)0x10 C)08 D)0104.以下哪个不是Java的原始数据类型()DA) int B) boolean C) float D) Char引用数据类型5.下列有关Java布尔类型的描述中,正确的是()AA)一种基本的数据类型,它的类型名称为booleanB)用int表示类型C)其值可以赋给int类型的变量D)有两个值,1代表真,0代表假6.在Java中,不属于整数类型变量的是( ) AA) double 浮点型B) long C) int D) byte7.以下do-while语句构成的循环执行次数是()。

Bint k=0;do { ++k ;}while(k<1);A) 一次也不执行B) 执行1次C) 无限次D) 有语法错误,不能执行8.表达式(1/0<1)&& (12==0) 的值为()。

逻辑运算结果只有true和false两种 BA) true B) false C) 0 D) 运行时抛出异常9.以下()表达式不可以作为循环条件 AA) i=5 B )i<3 C) count==i D) bEqual=str.equals("q") 10.下列数组初始化正确的是() DA) int score[5] = {90,12,34,77,56};B) int[5] score = new int[];C) int[] score = new int[5]{90,12,34,77,56};D) int score[] = new int[]{90,12,34,77,56};11.若有定义:byte[] x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是() CA) x[5-3] B) x[k] C) x[k+5] D) x[0]12.以下代码的输出结果是()。

java面向对象试题及答案

java面向对象试题及答案

JAVA面向对象一:填空1、_____ 是JVM自带的一个线程(自动运行着的程序),用于回收没有任何引用所指向的对象。

2、_____空间用于存储使用new关键字所创建的对象;_____空间用于存储程序运行时在方法中声明的所有的局部变量;_____用于存放类的信息(包括方法),方法有_____份。

3、面向对象三大特征:_____,_____,_____.4、下面是一个类的定义,请将其补充完整。

class _____ {String name;int age;Student( _____ s, int i) {name=s;age=i;}}5、Java 语言的接口是特殊的类,其中包含______常量和_______方法。

6.如果子类中的某个方法的名字、__________和参数列表与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。

7. Java 仅支持类间的单重继承,接口可以弥补这个缺陷,支持_____重继承.8. 接口中所有方法均为________和________的。

9. Java语言中,表示一个类不能再被继承的关键字是________。

10.Java语言中,表示一个类A继承自父类B,并实现接口C的语句是_________________。

11、以下代码的输出结果是________________。

int i=9;char c=’a’;char d=(char)(c+i);System.out.println(d);12.继承主要强调子类在父类的基础上取”长”补”短”,而______主要强调的是类与类之间的传输13、我们在java程序中,把关键字________加到方法名称的前面,来实现子类调用父类的方法14.java语言中,调用方法时,参数传递是_____调用,而不是地址调用15.接口是一种只含有抽象方法或______的一种特殊抽象类16.abstract方法_______(不能或能)与final并列修饰同一个类17.创建一个类就是创建一个新的数据类型,而类在java中属于_____数据类型。

java面向对象考题和答案

java面向对象考题和答案

j a v a面向对象考题和答案(总14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--1.下面代码的输出结果是:public class Main { public static void main(String[] args) { int n = 100;int m = 200; } public static int f(int m, int n) { n = m+n; return n; }}3001001003002.程序执行的结果是:public class Test { public static void main(String[] args) { int x = 6; Test p = new Test(); (x); " main: x = " + x); } void doStuff(int x) { " doStuff:x =" + x++); }}A.doStuff:x =7 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.下列代码的输出结果是:public class Test { public void print(char c) { "c"); } public void print(int i){ "i"); } public void print(double d) { "d"); } public void print(String s) { "s"); } public static void main(String[] args) { Test test=new Test(); ('5'); }}5.程序执行的结果是:public class Test { String name="Tom"; public Test(Stringname){ name=name; } public static void main(String [] args){ Test t = new Test("Jack"); }}D." "6.关于构造方法,下列说法错误的是:A.构造方法不可以进行方法重写B.构造方法用来实例化一个新的对象C.构造方法具有和类名相同的名称D.构造方法不返回任何数据类型7.关于 Java 中继承的特点,下列说法正确的是:A.使类的定义复杂化只支持单继承,不可多继承,但可以通过实现接口来达到多继承的目的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 = new Bar(); (); "Value: " + ; }}: 3: 8: 13: 189.下列代码编译和运行的结果是:class Person { String name = "No name"; public Person(String nm){ name = nm; }}class Employee extends Person { String empID = "0000"; public Employee(String id) { empID = id; }}public class EmployeeTest { public static void main(String[] args) { Employee e = newEmployee("4321"); }}A.输出:0000B.输出:4321C.代码public Employee(String id) {行,出现编译错误D.抛出运行时异常10.下列代码的运行结果是:public class Animal { public String noise() { return "peep"; } public staticvoid main(String[] args) { Animal animal = new Dog(); Cat cat = (Cat)animal; }}class Dog extends Animal { public String noise() { return "bark"; }}class Cat extends Animal { public String noise() { return "meow"; }}A.peepD.抛出运行时异常11.下列代码编译和运行的结果是:public class A { public void start() { "TestA"); }}public class B extends A { public void start() { "TestB"); } public static void main(String[] args) { ( (A) new B( ) ).start(); }}A.输出:TestAB.输出:TestBC.输出:TestA TestBD.编译错误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 here */ }13.下列选项中,不属于Java 的访问修饰符的是:14.下列代码的输出结果是:class Foo { private int x; public Foo(int x) { = x; } public void setX(int x) { =x; } public int getX() { return x; }}public class Gamma { static Foo fooBar(Foo foo) { foo = new Foo(100); return foo; } public static void main(String[] args) { Foo foo = new Foo(300); + "-"); Foo fooFoo =fooBar(foo); + "-"); + "-"); foo = fooBar(fooFoo); + "-"); }}15.下列代码运行的结果是:public class Base { public static final String FOO = "foo";16.class Sub extends Base { public static final String FOO = "bar";} public static void main(String[] args) { Base b = new Base(); Sub s = new Sub(); s).FOO); }}A.foofoofoofoofoo16.关于下列代码说法正确的是:public class ItemTest { private final int id; public ItemTest(int id) { =id; } public void updateId(int newId) { id = newId; } public static void main(String[] args) { ItemTest fa = new ItemTest(42); (69); }}A.编译错误B.运行时抛出异常C.运行后,fa对象属性id的值没有改变,应然是42D.运行后,fa对象属性id的值改变成新的值6917.请看下列代码编译和运行的结果是:public class Student { private String name="sun"; public staticvoid main(String[] args) { Student[] students=new Student[2]; }}A.sun 221D.运行时抛出NullPointerException异常18.下列代码的输出结果是:abstract class Vehicle { public int speed() { return 0; }}class Car extendsVehicle { public int speed() { return 60; }}class RaceCar extends Car { public int speed() { return 150; }}public class TestCar { public static void main(String[] args) { RaceCar racer = new RaceCar(); Car car = new RaceCar(); Vehicle vehicle = new RaceCar(); + ", " + () + ", " + ()); }}, 0,0 , 60, 0, 150, 150 D.抛出运行时异常19.请看下列代码:public abstract class Employee { protected abstract double getSalesAmount(); public double 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 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.关于下列代码说法正确的是:interface A { public void aMethod();}interface B { public voidbMethod();}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类的bMethod()方法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() { "处理请求"); } }); }}如果上述代码采用回调模式编写,下列关于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.下列代码运行的结果是:public class Hello { String title; int value; public Hello() { title += "World"; }public Hello(int value) { = value; title = "Hello"; } public static void main(String[] args) { Hello c = newHello(5); }}A.HelloB. Hello WorldC. Hello World 5D.运行后无输出24.请看下列代码编译和运行的结果是:interface TestA { String toString();}public class Test { public static void main(String[] args) { TestA() { public String toString() { return "test"; } }); }}A.输出:testB.输出:nullC.代码 TestA() {行,编译出错D.代码public String toString() {行,编译出错25.请看下列代码:1)public class Outer {2) void fn(int i) {3) class Inner {4) void 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,正确答案:B 15,正确答案:D16,正确答案:A 17,正确答案:D 18,正确答案:C 19,正确答案:BD 20,正确答案:D21,正确答案:D 22,正确答案:D 23,正确答案:A 24,正确答案:A 25,正确答案:A。

java基础面向对象编程题

java基础面向对象编程题

java基础面向对象编程题好的,下面是一些关于Java基础面向对象编程的问题,我将从多个角度进行回答。

1. 什么是面向对象编程?面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它将程序中的数据和操作数据的方法进行封装,形成对象,并通过对象之间的交互来实现程序的功能。

2. Java中的类和对象有什么区别?在Java中,类是对象的模板或蓝图,用于定义对象的属性和行为。

而对象则是类的实例,具体的实体,可以通过类来创建和使用。

3. 什么是封装?封装是面向对象编程的一项重要特性,它将数据和操作数据的方法封装在一个类中,对外部隐藏了内部的实现细节,只提供公共的访问接口。

这样可以保护数据的安全性,并提高代码的可维护性和可复用性。

4. 什么是继承?继承是面向对象编程的另一个重要特性,它允许一个类继承另一个类的属性和方法。

通过继承,子类可以直接使用父类的成员,同时还可以扩展或修改父类的功能。

5. 什么是多态?多态是面向对象编程的又一重要特性,它允许不同的对象对同一消息做出不同的响应。

通过多态,可以提高代码的灵活性和可扩展性。

在Java中,多态可以通过继承和接口实现。

6. 什么是抽象类和接口?抽象类是一种不能被实例化的类,它只能作为其他类的父类来使用。

抽象类可以包含抽象方法和具体方法,子类必须实现抽象方法才能被实例化。

接口是一种完全抽象的类,它只包含抽象方法和常量的定义,子类必须实现接口中的所有方法才能被实例化。

7. 什么是重写和重载?重写(Override)是指子类重新定义父类中已有的方法,方法名、参数列表和返回类型必须相同。

重载(Overload)是指在一个类中定义多个同名但参数列表不同的方法,通过参数的个数、类型或顺序的不同来区分。

8. 什么是构造方法?构造方法是一种特殊的方法,用于创建对象时进行初始化操作。

它与类同名,没有返回类型,并且在使用new关键字创建对象时自动调用。

面向对象编程基础考试

面向对象编程基础考试

面向对象编程基础考试(答案见尾页)一、选择题1. 什么是面向对象编程(OOP)?A. 一种编程范式B. 一种编程语言C. 一种软件开发方法论D. 以上都不是2. 在面向对象编程中,哪个概念描述了类和实例之间的关系?A. 封装B. 继承C. 多态D. 抽象3. 在面向对象编程中,什么是封装?A. 将数据隐藏在对象内部B. 将方法隐藏在对象内部C. 将数据和方法都隐藏在对象内部D. 将对象隐藏在类内部4. 在面向对象编程中,什么是继承?A. 创建一个新的类,这个新类是现有类的扩展B. 创建一个新的类,这个新类与现有类完全相同C. 创建一个新的类,但这个新类只有一个子类D. 创建一个新的类,但这个新类没有子类5. 在面向对象编程中,什么是多态?A. 同一个接口可以被不同的对象以不同的方式实现B. 一个类的所有方法都是静态的C. 一个类的所有属性都是静态的D. 类的每个对象都有一个固定的属性值6. 在面向对象编程中,什么是抽象?A. 创建一个新的类,这个新类是现有类的子类B. 创建一个新的类,这个新类与现有类完全不同C. 创建一个新的类,但这个新类只有一个子类D. 创建一个新的类,但这个新类没有子类7. 在面向对象编程中,什么是局部变量?A. 在方法内部定义的变量B. 在类内部定义的变量,但在方法外部也可以访问C. 在类内部定义的变量,但在方法内部也可以访问D. 在方法内部定义的变量,且只在方法内部可见8. 在面向对象编程中,什么是全局变量?A. 在方法内部定义的变量B. 在类内部定义的变量,但在方法外部也可以访问C. 在类内部定义的变量,但在方法内部也可以访问D. 在程序的任何地方都可以访问的变量9. 在面向对象编程中,什么是构造函数?A. 用于初始化对象的函数B. 用于创建对象的函数C. 用于销毁对象的函数D. 以上都不是10. 在面向对象编程中,什么是析构函数?A. 用于初始化对象的函数B. 用于创建对象的函数C. 用于销毁对象的函数D. 以上都不是11. 什么是面向对象编程(OOP)?A. 一种编程范式B. 一种编程语言C. 一种软件开发方法论D. 一种算法12. 在面向对象编程中,哪个概念描述了对象之间的交互?A. 封装B. 继承C. 多态D. 抽象13. 在面向对象编程中,什么是类(Class)?A. 一个对象的蓝图或原型B. 一个抽象概念C. 一个具体的实现D. 一个操作系统的组件14. 在面向对象编程中,什么是对象(Object)?A. 一个程序中的所有数据B. 一个程序中的所有函数C. 一个具有属性和行为的实体D. 一个计算机的硬件部件15. 在面向对象编程中,什么是继承(Inheritance)?A. 一种代码重用机制B. 一种创建新类的方式C. 一种事件处理机制D. 一种数据处理技术16. 在面向对象编程中,什么是多态(Polymorphism)?A. 一种代码重用机制B. 一种创建新类的方式C. 一种事件处理机制D. 一种数据处理技术17. 在面向对象编程中,什么是封装(Encapsulation)?A. 一种代码重用机制B. 一种创建新类的方式C. 一种事件处理机制D. 一种数据隐藏技术18. 在面向对象编程中,什么是抽象(Abstraction)?A. 一种代码重用机制B. 一种创建新类的方式C. 一种事件处理机制D. 一种概念性的表示19. 在面向对象编程中,什么是继承链(Inheritance Chain)?A. 一种对象之间的关联关系B. 一种代码重用机制C. 一种创建新类的方式D. 一种属性和方法的传递路径20. 在面向对象编程中,什么是接口(Interface)?A. 一种代码重用机制B. 一种创建新类的方式C. 一种事件处理机制D. 一种对象间的通信约定21. 什么是面向对象编程(OOP)?A. 面向对象编程是一种编程范式,它使用“对象”来表示数据和方法。

java面向对象常见简答题

java面向对象常见简答题

Java面向对象常见简答题以下是一些常见的Java面向对象简答题及答案:1.什么是面向对象编程(OOP)?答案:面向对象编程(OOP)是一种编程范型,它使用“对象”来设计软件和应用程序。

在OOP中,对象是现实世界实体的软件表示,它具有属性和行为。

OOP具有封装、继承和多态等特性,这些特性使得代码更加模块化、可重用和易于维护。

2.什么是类?什么是对象?它们之间的关系是什么?答案:类是一种定义对象结构的模板,它定义了对象的属性(成员变量)和方法(成员函数)。

对象是类的实例,它是类的一个具体实例。

类和对象之间的关系是模板和实例之间的关系。

类是对象的模板,而对象是根据类创建的实例。

3.什么是封装?答案:封装是将对象的属性和方法组合在一起,并隐藏对象的内部实现细节,只暴露必要的接口给外部使用。

封装的作用是提高代码的安全性和可维护性,防止外部随意修改对象的内部状态。

4.什么是继承?答案:继承是从已有的类派生出新的类,新的类继承了原有类的属性和方法。

继承的作用是复用已有类的代码,提高代码的复用性和可维护性。

通过继承,子类可以扩展或修改父类的行为。

5.什么是多态?答案:多态是指允许父类的引用变量引用子类的对象,通过父类引用来调用子类的方法。

多态的作用是提高代码的灵活性和可扩展性,允许不同的子类以相同的方式与父类交互。

6.什么是构造函数?它的作用是什么?答案:构造函数是一个特殊的方法,它在创建对象时自动调用,用于初始化对象的属性和状态。

构造函数的作用是创建对象并为其设置初始状态。

7.什么是方法重载?什么是方法重写?它们有什么区别?答案:方法重载是指在同一个类中定义多个同名方法,但它们的参数列表不同。

方法重载的作用是允许根据不同的参数列表使用相同的方法名。

方法重写是指在子类中重新定义父类中已有的方法。

方法重写的作用是允许子类改变或扩展父类的行为。

方法重载和方法重写的区别在于它们的参数列表和使用场景不同。

8.什么是抽象类?什么是接口?它们有什么区别?答案:抽象类是一个不能被实例化的类,它只能作为其他类的基类使用。

面向对象程序设计(Java)知到章节答案智慧树2023年烟台职业学院

面向对象程序设计(Java)知到章节答案智慧树2023年烟台职业学院

面向对象程序设计(Java)知到章节测试答案智慧树2023年最新烟台职业学院第一章测试1.下列关于Java特点的描述中,错误的是()参考答案:Java只能运行在Window和Linux平台2.如果jdk的安装路径为:c:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项()参考答案:c:\jdk\bin3.下面哪种类型的文件可以在Java虚拟机中运行()参考答案:.class4.下列关于Java语言的描述中,错误的是()参考答案:Java是一门介于汇编和高级之间的语言5.下列选项中,哪些是Java语言的特性()参考答案:跨平台性;简单性;支持多线程;面向对象6.下列关于使用Javac命令编译后生成文件的说法中,正确的是()参考答案:编译后生成的文件为二进制文件;编译后生成的文件可以在Java虚拟机中运行;编译后生成文件的后缀名为.class7.下列关于多行注释的应用,正确的是()参考答案:多行注释有利于代码的阅读性;写多行注释是一个良好的习惯;程序中可以不写多行注释8.在Java中,类名的首字母要求大写。

( )参考答案:对9.lib是library的缩写,用于存放Java类库或库文件。

( )参考答案:对10.JDK安装的时候不可以修改安装目录。

( )参考答案:错第二章测试1.以下关于三元运算符的说法中,正确的是()参考答案:三元运算符第一个表达式的结果必须是boolean类型值。

2.阅读下面程序片段switch (i) {case 1:System.out.println("message1");case 2:System.out.println("message2");case 3:System.out.println("message3");break;}请说当变量i的值为多少时,程序只输出“message 3”。

2.Java面向对象知识测试C卷答案

2.Java面向对象知识测试C卷答案

面向对象部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。

单选2分/题,多选4分/题。

多选题不全对半分,全对满分。

1.下面描述函数重写错误的是A. 要有子类继承或实现B. 子类方法的权限必须大于等于父类的权限C. 父类中被private权限修饰的方法可以被子类重写D. 子类重写接口中的抽象方法,子类的方法权限必须是public的2.下列说法哪个正确?()A. 一个程序可以包含多个源文件B. 一个源文件中只能有一个公共类C. 一个源文件中可以有多个类D. 一个源文件只能供一个程序使用3.下面关于类的设计思路描述错误的是 ( )A. 根据需求写出类所包含的字段(成员变量)B. 根据面向对象的思想要求,所有的字段都必须私有化C. 封装之后的字段在本类内也必须使用get/set方法D. 按需求可添加若干构造方法4.关于封装下面介绍错误的是()A. 封装将变化隔离B. 封装提高重用性C. 封装提高安全性D. 只有被private修饰才叫做封装5.试图编译运行下面的代码会发生什么情况public class MyClass{static int i;public static void main(String[] args){ System.out.println(i);}}A. 错误,变量i没有被初始化B. 输出nullC. 输出1D. 输出06.下面对static的描述错误的是A. 静态修饰的成员变量和成员方法随着类的加载而加载B. 静态修饰的成员方法可以访问非静态成员变量C. 静态修饰的成员可以被整个类对象所共享D. 静态修饰的成员变量和成员方法随着类的消失而消失7.在Java中,下面对于构造函数的描述正确的是()A. 类必须显式定义构造函数B. 构造函数的返回类型是voidC. 构造函数和类有相同的名称,并且不能带任何参数D. 一个类可以定义多个构造函数8.给定java代码,如下:abstract class Shape {abstract void draw( );}要创建Shape类的子类Circle,以下代码正确的是()。

面向对象分析与设计试题C卷

面向对象分析与设计试题C卷

面向对象分析与设计试题C卷一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

每小题1 分,共20 分)1.面向对象技术的最重要的基本特征是(D)。

A. 抽象性B. 封装性C. 多态性D. 继承性2. 面向对象程序设计将描述事物的数据与( C ) 封装在一起,作为一个相互依存、不可分割的整体来处理。

A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象3. 关于面向对象方法的优点,下列不正确的叙述是(C )。

A. 与人类习惯的思维方法比较一致B. 可重用性好C. 以数据操作为中心D.可维护性好4. C++ 对C 语言作了很多改进,即从面向过程变成为面向对象的主要原因是( D )。

A. 增加了一些新的运算符B. 允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型 D. 引进了类和对象的概念5. 下列不属于类的成员函数的是( C )。

A. 构造函数B. 析构函数C. 友元函数D. 拷贝构造函数6. 继承机制的作用是( C )。

A. 信息隐藏B. 数据封装C. 派生新类D. 数据抽象7. 类模板经过实例化而生成具体( D)A. 对象B. 模板函数C. 函数模板D. 类8. 类的析构函数是在( C ) 调用的。

A. 类创建时B. 创建对象时C. 删除对象时D. 不自动调用9. 在公有继承的情况下,基类成员在派生类中的访问权限( B )A. 受限制B. 保持不变C. 受保护D. 不受保护10. C++ 语言通过( B ) 来建立类族。

A. 类的嵌套B. 类的继承C. 虚函数D. 抽象类11.在UML中,有3种基本构造块,分别是(A)A. 事物、关系和图B. 注释、关系和图C. 事物、关系和结构D. 注释、关系和结构12.在UML中,有四种关系,下面哪个不是(B)A.依赖关系B.继承关系C.泛化关系D.实现关系13.下面哪个不是UML中的静态视图(A)A.状态图B.用例图C.对象图D.类图14.在用例之间,会有三种不同的关系,下列哪个不是它们之间可能的关系(D)A.包含(include)B.扩展(extend)C.泛化(generalization)D.关联(connect)15.下列关于活动图的说法错误的是( D )A. 一张活动图从本质上说是一个流程图,显示从活动到活动的控制流B. 活动图用于对业务过程中顺序和并发的工作流程进行建模。

Java测验(基础编程和面向对象)及答案.doc

Java测验(基础编程和面向对象)及答案.doc

v()承c 继态盖载M 多多覆ffi山PLA B c DJews 测验(基础编程和面向对象)姓名:分数1、 从下面列表中选取3个合法的标识符 A. IDoLikeTheLongNameCldss B ・$byte ($,字母和下划线”头) C ・ const (goto, const nf 以) D ・ _okE. 3_case (不能是数字开头)2、 如何对一个对象进行强制垃圾回收? A. 不能强制进行垃圾回收 B ・调用System, gc ()・C ・传递要进行垃圾回收的对彖的引用作为参数, 调用 System, gc ()D ・调用 Runtime, gc ().E ・设置所有对该对象的引用到一个新值(如 null)・3、 考虑下面的类 clciss Test { void test(int i) {System ・()ut ・println("I tun tin int."); }void test (String s) {System .out ・ prin tin ("I tun a string ・"); }public stcitic void iikiin( String args I ]) { Test t 二new Test (); chtir ch 二'y'; t. test (ch); } }4、 下面哪一句说法是正确的(选择一个)A. 笫5行不能通过编译,因为void 方法不能被 重写©出 初12行不能通过编译,因为没有任何一个test 方法接收一个字符参数。

C. 代码可以通过编译但会在第12行抛出一个异 常。

D. °代码可以通过编译且运行时诃输出:'1 am an int.' oE ・ 代码可以通过编译且运行时可输III : lamaString. ' o5、 数组numArray 的第9个元素可以表示为 _____ . A. numArray 18 ]; B ・ numArray[9];C ・ numArray 丨]二 9;D ・ numArrayI 71 +二 2;6、 下面的哪个语句声明了一个有10个元素的数组?A int numbers 丨]二 new int[10 ];B int numbersl10]; 0 int numbers!]二 10;D new int numbers!]二 int[10]; 7、 jtivu 编译器的名称是? A ・ javac B ・ JVMC ・ System ・ out ・ println ()D ・ java8、 下面的代码段说明了面向对象的哪一特性_•public void overload(String s) {・・・} overload(int i) {・・・} overload(int i, float f) {・・・ }9、 当子类的一个方法和父类的一个方法命名相同时,叫做 _________ ■ A overloading 重载 B instance 实例 C overridi 覆盖D local scope 局域变量10、 访问开放程度正确的是:A friendly 变量川以被包外子类访问B protected 变量对以被包外类访问C public 类可以被包外子类访问 0都不对11、 下面关于抽象类的说法那些是正确的? A 不能从它继承一个子类 B 该类不能实例化C 所有的方法必须都是抽象方法D 抽象类的定义屮必须包含abstract 关键字 12、 关键字 ________ 表示一个对象或变星一旦赋值就不能修改A staticB finalC con stcint13、 问:哪段无错? (A), int i 二0;if(i){ ” ”System ・ out ・ println(〃lli 〃); }⑻・boolean b 二true;boolean b2二true; if(b==b2) {System ・ out ・ printin ("So true z ,);}(0. int i=l;int j 二2; if(i==l, j==2)System ・ out ・ println(〃()K 〃); (D). int i=l;int j 二2;if(i 二二1& j 二二2)System ・ out ・ println(〃()K 〃); 14、 如下代码class Test{ private int m;public static void fun() { // some code.・・} }15、 如何才能载方法lunO 'I 1直接访问变星in? A ・ 改变 private int m 为 protected int m B ・ 改变 private int m 为 public int mC ・ 改变 private int in 为 static int mD ・改变 private int m to int m16、下面方法哪个是方法public void example () {...}的正确重籤?A.public void example( int m) {・・・ }B.public int excimple(){・・・}A B C D E floatflOcltfloatflOcltfloatf[](二new IIfI J = newf[][] = new[][If 二new[][]f 二newC・ public void excimple2() {・・・}D・ public int example ( int m, float f) {・・・}17、J va中mainO方法的返回值类型为?A.Str ingB.intC・ charD. void18、下面那些是Java的合法描述符?A.fieldnameB・ superC・ 3numberD・ uinberE・ $number19、哪些是java合法的关键字A.constB.NULLC・ falseD. thisE・ native20、哪些是Java中正确的整数表达式?A.22B.0x22C.022D.221121、下面的代码段执行后1和j的值为int i 二1;int j;j 二i++;A.1, 1B.1, 2C.2, 1D.2, 222.为了编译和运行java程序,下面那句话是正确的?A.程序起始点必须在main, class文件中B.所有的类必须包含名为的方法C.程疗:中的一个类必须包含名为觸in的方法D.程用中必须包含名为mairi的类23、哪些赋值是正确的A. 1 lotit ti 二2. 0B.double b = 2. 0C.ir)t c = 2D.long d 二224、m ainO方法中的参数的正确描述是A.char args I ]B・ char tirgs III]C・ String argl1D・ String args 25、下面哪些对正确的创建一个数组ri«)cil|6] |6]; float[6]I 6 I;float!][61; float!6 I I 6];float!611]; 26、对于给定的表达式:int m[]二{0, 1, 2, 3,1, 5, 6},下面哪些计算结果等于数组的长度A.m. length()B・ m. lengthC.m. length()+1D.m. length+1 27、用这样的命令行执行正确的类:java MyTest a b c,下面哪些是正确的?A.args [01 = "MyTest a b c〃B.args[0| 二"MyTest"C.args [01 二z,a,zD・args[l]= ' b‘28、给定代码:public class Test{ long a[]二new long 1.101;public static void main ( String arg[J ) {System・out. println ( a|6]);}}哪句是正确的?A.无输出B.输出是0C・出现编译时错误D.出现运行时错误29、给定下面的代码:public class Test{public static void main(String arg[]){ int i 二5;do {System・ out・ println(i);} while (--i>5);System・out. println( "finished");}}执行时输出:A. 5B. 4C. 6D.FinishedE.None30、如下代码:switch (m){case 0: System.oul.princase 1: System・()ul・ println("l");case 2: System.out・println("2"); case 3: System・()ul・ println("3");bretik; default: System, out.printin("Other"); }m的值是多少可以输出來〃2〃?A.0B. 1C. 2D. 3E. 4F.None31、J ava 哪些是合法的修饰府?A.privateB.publicC.protectedD.protectE.friend32、如果一个类变量只能在同一包内被访问可用那个修饰符?A.privateB・ publicC・ protected0.不用修饰E・ final33、下面哪种对类变量的修饰可以定义常量A. staticB. final C ・ abstractD ・ No modifier ctin be used31、卜•面哪些是对native 方法的正确声明? A. public native void test(): B ・ public native void test() {) C ・ public void ntitive test(); D ・ public native test() {}35、 给定类的定义 public class Test { private float f二 1.0;int m 二 12; static int n 二1;public static void mtiin(String arg[J) { Test t 二 new Test();// some code ・・・ } } 36、 在注釋处哪种用法是合法的? A. t. fB ・this ・nC ・ Test ・ in D. Test, n37、 以下代码: 1 class Example{ 2 String str;3 public ExtimpleO {4 str 二"example";5 }6 public Excimple(String s) {7 str 二s;8 }9 }10) class Demo ext ends Extunplef 11 }12 public class Test{ 13 public void f () {14 Excimple ex 二 new Excimple (,z Good ,z ); 15 Demo d 二 new Demo("Good"); 16 }}哪行会引起错误?A line3 B . line 6 C . line 10 D . line 14E line 138、 给定源文件中的类定义: class Btise {public Base (){//・・・}public Base ( int m ){ //•・・} protected void fun( int n ) { //・・・} }public class Child extends Base{ // member methods }39、 下面哪种可以恰当的加到Child 类中? A. private void fun( int n ) { //•・・} B. void fun ( int n ) {//・・・}C. protected void fun ( int n ) { □… }D. public void fun ( int n ) { //・・・} 40、 下面哪些说法是正确的?A •在Javaip 允许单继承,这使得代码史对靠B. 子类诃以继承父类的所有方法(包括构造方法)C. 一个类对以实现任总多的接口0.当一个类实现一个接口时,它可以定义接口的 一部务方法41、 在源文件Test, java哪些类的声明是正确的?A.public class test { public int x 二 0; public test(int x) { this ・ x 二 x;B.public class Test{ public int x 二0;public Test(int x) { this, x = x;C.public class Test extends Tl, T2 { public int x 二 0; public Test (int x) { this ・ x 二 x;0.public class Test extends T1{ public int x 二0; public Test(int x){ this, x = x;E.protected class Test extends T2{ public int x 二0; public Test(int x){ this ・ x 二x;42、如下代码:public class Test{public static void main(String args[]){ String str 二new String(z ,World z ,); char ch[] = {‘ 11’ J ' 1’ J 1’,' o' }; change(str, ch);System .out.println(str + "and" + new String(ch)); }public static void chtrnge(String str, chtir ch[]){str=,,Changed /,; ch|01=,C ;执行的结果是?A. World and HelloB. World and CelloC. Changed and HelloD. Chcinged and Cello13.下面语句行哪些编译时没有警告或错误 A float f 二1.3; B char c 二"a"; C byte b 二257; D boolean b 二null; E int i 二10;44、编译运行下面的代码时会打印public class MyCltiss {public sialic void mdin(String argumentsl]){ tunethod(arguments);}public void tunethod(String,丨arguments) { System・out・ println("rguinents);System ・ out ・ print In (tirguine nt si 1 ]);}} 、,A error Can't make static reference to void time thod ・B error method mtiin not correctC error tirrtiy must include parcimeterD tunethod must be decltired with String15下面哪些没有编译错误?Aimport java・awt・*;package Myptickage; class Myclass {}Bpacktige MyPackcige;import java・awt・*; class MyClass{}C/♦This is a comment */packtige MvPackage;import java・“wt・*; class MyCltiss{}46、一个字节(byte)的范围是A -128 to 127B (一2 power 8 )-1 to 2 power 8C 一255 to 256D依赖于特定的虚拟机的实现17、运行下面的命令行时会打印java myprog good morning public class myprog{ public static voidiikiin(String argvl ]) { System・ out・println(argv[21);}}A myprogB goodC morningD都不对48、哪些是jdvd的关键字或保留字?A ifB thenC gotoD whileE case 49、哪些是合法的描述符?A 2vctriableB variable2C _whatavaricibleD _3_E Sanothervar1; ttmyvar50、编译运行下面的代码时会打印public class MyClass{static int i;publie static void main(String argv[]){System・ out・ println(i);}}、A Error Variable i may not have been initializedB nullC 1D 051、编译运行下面的代码时会打印public class Q { publie static void main(String argv[]){ int anar[]=new int [] {1, 2, 3};System・ out・ println(undr[11);A 1B Error tmar is referenced before it is initializedC 2D Error: size of array must be defined52、编译运行下面的代码时会打印public class Q {public static void main(String argv[]){ int anar[]二new int15];System・ out・ println(urRir[01);A Error: anar is refereneed before it is initializedB nullC 0D 553、编译运行下面的代码时会打印abstract class MineBase { abstract void cimethod();static int i;}public class Mine extends MineBase { publie static void main(String argv[]){ int[] ar二new int[5];for(i=0;i < ar. length;i++)System・ out・ print1n(ar[i]);}}A会打印5个0的序列B Error: ar is used before it is initializedC Error Mine must be declared abstractD IndexOutOfBoundes Error54、编译运行下面的代码时会打印int i二1;switch (i) {case 0: System.out.println(z,zer()z,);break;case 1:System・ out・ println(〃()ne〃);case 2: System.out.println(z,tw()z,); default: System ・ out・ prinlln(〃default〃);A oneB one, defaultC one, two, defauItD default55、编译运行下面的代码时会打印int i二9;switch (i) {default: System・ out・ printin("default"); case 0: System・ out・ println(〃zer()"); bretik;case 1: System・ out. println("()ne");case 2: System・ out・ printin(^two^);}A defaultB default, zeroC default子句是错误的D没有输出56、下面得代码行哪个没有编译错误Aint i二0;if (i) { System .out ・ pri ntln("llell()"); }Bboolean b二true;boolean b2二true;if(b二二b2) {System・ out. printin("So true");)Cint i二1;int j二2;if (i~l | | j 二二2) System, out. print In ("OK");Dint i二1;int j二2;if (i=l &| j二二2) System, out. printin(^OK^): 57、下面那些说法是正确的?A方法不能被巫药得封装得更隐秘B不能重载静态方法C不能重载private方法58、当编译运行下面代码时会class Btise {}class Sub extends Base {}class Sub2 extends Base {}public class CEx{public static void iikiin(String argvl ]) {Btise b二new Bcise ();Sub s二(Sub) b;}}A编译运行都没有错B编译时出错C运行时异常父类转子类59、为什么编译后的java文件既可以在windows下运行,也可以在linux下运行?A.因为所有计算机上的java虚拟机(JVM)都使用相同的class文件B.因为linux和windows都是运行在Intel的计算机卜C.因为linux和windows使用相同的操作系统图形库D.因为linux和windows都是微软生产的60、E面哪个文件是由java编译器对名为ptircel 的类的源代码编译后而产生的?A.SimpleReaderB.mainC.parce 1. classD・ puree 1. java61、如果要编写一个名为BouncingBctll的类,那么它的源代码文件应该名为?A.Document・ txtB.main・ javaC.BoundngBal 1. classD.BouncingBal 1. java 62、如下声明:String si 二new Str in gC,llello z,);String s2二new String(/Z there z,);String s3二new StringO ;下面哪个语句是正确的?A s3二si + s2;B s3二sl-s2;C s3二si & s2;D s3二si && s263、下面语句的计算结果是什么?System・ out・ println(4 3);A 6B 0C 1D 764、p ublic class MyClassl{public static void main(String argv[]){ } /♦Modifier at XX */class MyInner {}}What modifiers would be legal at XX in the above code?A publicB privateC staticD friendly62.下面哪个不是有效的变量名?A.finishedB.inputC・ userName3D・ Smile66、当试图编译和运行下面的代码时会出现什么恬况?public class Corw{public static void main(String argv[]){Conv c二new Conv();String s 二new Str in g(z,ell()zz);c. amethod(s);}public void amethod(String s) {char c=,If ;c+二s;System・ out・ println(c);}}A编译成功并输出Ulel"B编译成功并输HTelkfC编译成功并输tB"elloll"D编译时错误c+二s类型有问题67、下面的代码会输出?public class Pass{static int j二20;public static void imiin(String argvl]){ int i二10; Pass p 二new Pass ();p. cimethod(i);System・ out・ println(i);System・ out・ println( j);}public void tunethod(int x) {x二x*2;j二j*2;A Error: aine thod ptiraineter does not match VciriableB 20 and 40C 10 and 40D 10, and 2068、下面的代码会打印出?public class Oct{public static void iikiin(String argvl ]) {Oct o 二new Oct ();o. ainethod ();}public void tunethod() {int oi= 012;System・ out・ println(oi);A 12B 012C 10D 10.069当试图编译和运行下面的代码时,会出现什么情况?public class Ref{public static void iikiin(String tirgvl I) {Ref r 二new Ref ();r. tune thod (r);}public void tunethod(Ref r) {int i二99;multi (r);System・ out・ println(i);}public void multi(Ref r) {r. i = r. i*2;}}A在编译时出错B输出99C输出198D注运行时出错70、当试图编译和运行下面的代码时,会出现什么情况?public class Scope{private int i;public static void iikiin(String tirgvl I) {Scope s 二new Scope();s. cimethod ();}//End of mainpublic static void tunethod() {System・ out・ println(i);}//end of cimethod}//End of classA打印0B什么都不打印C编译错误0编译错误指出i的作用域不对71.通常一个类的命名惯例是(即如何为类命名)?A.类名称开始必须是test•然后Z后的单词必须以大宫字母开始(例如class TestBouncingBall)B.所有类的名称都必须以.java结束(例如class Ball.java)C.所有的单词必须以大写字母开始(例如class Bouncin^Ball)D.所有字母必须大写,单词之间以下划线分割开(例如class BOUNCING.BALL)72.下面那个是java中有效的注释?A.*/ load data from the file */B.// load data from the filement - load data from the fileD.1 load data from the file73.请问可以在类的外面定义方法吗?A.必须在另一个不同的文件屮编写所有类中的方法B.对以,但是这个方法必须是static的C.可以,因为java和C++屮的做法是一样的D.不可以,所有的方法必须在类的内部编写74.请看如下的声明:int x=6;请问哪个是上面那个变呈的数据类型?A.objectB.6C.xD.int75.通常方法的命名惯例是(即如何为方法命名)?A.名称中的所有单词必须是java中的关键词B.笫一个单词必须全部小写,然后其他的单词以大写字母开头(例如showPicture())C.所有单词必须以大写字母开头(例如ShowPictureO)D.所有单词必须大写,并以下划线分割开(例如SHOW_PICTURE())76.下面哪个不是有效的名称?A.print()B.readFile()C.class()D.isVisible()77.下面哪个声明是无效的?A.boolean finished二true;B.boolean finished=7.0;C.boolean finished = !true;D.boolean finished=(7.0>4.3);78.在java中char类里的数据用两个字节保存,这和C++中用一个字节保存相比,有什么好处?A.一个字符类型能够容下不同语言的字符例如屮文」I文,韩文或者越南语B.惫噪着我们对以使用String类来代替char数组C.字符类型对以用来代替整型D.字符在存储器中占据更多的空间79.在java我们如何定义一个名为COUNTRY.CODE 的常量?A.String COUNTRY_CODE=new String(H zh H);B.static String COUNTRY_CODE=n ZH H);C.#define COUNTRY.CODE H ZH HD.final String COUNTRY-CODE=,,ZH H;80.下面的代码有什么问题?double x=3.4;int y=6;y二x;A.double变呈:不能转换成int变星B.第1行,如果x的值改成3.0,那么代码就是正确的C.M 1行,java将3.4当成是float类型而不是double 类型D•第3行,x必须从double转换为int81 •婆声明一个名为message的字符串变鼠下面哪种方式是无效的?A.String message;B.String message二"Java is cool!"C.String message二'java is cool!1;D.String message=new String(n java is cool!");82.下面哪两纽数据类型在java中可用?A.public 和privateB.简单数据类型(比如int和double)和类类型(比如parcel 类)C.true 和falseD.变量和方法83.下面的代码中:parcel a,b;a=new parcel();b=a;结果是pA.该代码不能编译B.a和b指向相同的对象C.b为空D.b是存储在a中的对象的拷贝84 •下面哪个声明是正确的?A.对象是类的实例B.对象继承自类C.对象总是包含一个int,double或者float类型D.采用delete。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。

单选2分/题,多选4分/题。

多选题不全对半分,全对满分。

1.下面描述函数重写错误的是A. 要有子类继承或实现B. 子类方法的权限必须大于等于父类的权限C. 父类中被private权限修饰的方法可以被子类重写D. 子类重写接口中的抽象方法,子类的方法权限必须是public的2.下列说法哪个正确?()A. 一个程序可以包含多个源文件B. 一个源文件中只能有一个公共类C. 一个源文件中可以有多个类D. 一个源文件只能供一个程序使用3.下面关于类的设计思路描述错误的是 ( )A. 根据需求写出类所包含的字段(成员变量)B. 根据面向对象的思想要求,所有的字段都必须私有化C. 封装之后的字段在本类内也必须使用get/set方法D. 按需求可添加若干构造方法4.关于封装下面介绍错误的是()A. 封装将变化隔离B. 封装提高重用性C. 封装提高安全性D. 只有被private修饰才叫做封装5.试图编译运行下面的代码会发生什么情况public class MyClass{static int i;public static void main(String[] args){ System.out.println(i);}}A. 错误,变量i没有被初始化B. 输出nullC. 输出1D. 输出06.下面对static的描述错误的是A. 静态修饰的成员变量和成员方法随着类的加载而加载B. 静态修饰的成员方法可以访问非静态成员变量C. 静态修饰的成员可以被整个类对象所共享D. 静态修饰的成员变量和成员方法随着类的消失而消失7.在Java中,下面对于构造函数的描述正确的是()A. 类必须显式定义构造函数B. 构造函数的返回类型是voidC. 构造函数和类有相同的名称,并且不能带任何参数D. 一个类可以定义多个构造函数8.给定java代码,如下:abstract class Shape {abstract void draw( );}要创建Shape类的子类Circle,以下代码正确的是()。

A. class Circle extends Shape{ int draw( ){} }B. abstract class Circle extends Shape{ }C. class Circle extends Shape{ void draw( ); }D. class Circle extends Shape{ void draw( ){ } }9.下面Java代码的运行结果是()class Penguin {//下面蓝色的部分被称为属性 , 字段 , 成员变量private String name=null; // 名字private int health=0; // 健康值private String sex=null; // 性别public void Penguin() { // 构造方法没有voidhealth = 10;sex = "雄";System.out.println("执行构造方法。

");}public void print() {System.out.println("企鹅的名字是" + name +",健康值是" + health + ",性别是" + sex+ "。

");}public static void main(String[] args) {Penguin pgn = new Penguin();pgn.print();}}A. 企鹅的名字是null,健康值是10,性别是雄。

B. 执行构造方法。

企鹅的名字是null,健康值是0,性别是null。

C. 企鹅的名字是null,健康值是0,性别是null。

D. 执行构造方法。

企鹅的名字是null,健康值是10,性别是雄。

10.下面说法正确的是( )。

A. final 可修饰类、属性(变量)、方法B. abstract可修饰类、方法C. 抽象方法只有方法声明,没有方法体D. 关键字final和abstract不能同时使用11.下面说法正确的是( )A. 匿名内部类编译后不会生成.class文件B. 接口编译后不会生成.class文件C. 抽象类中没有构造方法D. 局部内部类只能访问被final修饰的局部变量12.类Student中构造方法声明正确的是哪一项? ()A:class Student{public Student()}B:class Student{public Student(){}}C:class Student{public void Student(){}}D:class Student{new Student(){}}13.下面对static的描述正确的是A. 静态修饰的成员变量和成员方法随着类的加载而加载B. 静态修饰的成员方法可以访问非静态成员变量C. 静态修饰的成员可以被整个类对象所共享D. 静态修饰的成员变量和成员方法随着类的消失而消失14.下面对this的作用描述错误的是A. 当成员变量和局部变量重名的时候可以用this区分B. this()语句必须放在构造函数的第一行,根据this后面括号中的参数调用本类其他的构造函数.C. this首先会调用本类的一般函数D. this首先会调用父类的一般函数15.在Java中,以下程序编译运行后的输出结果为()。

public class Test {int x, y;Test(int x, int y) {this.x = x;this.y = y;}public static void main(String[] args) {Test pt1, pt2;pt1 = new Test(3, 3);pt2 = new Test(4, 4);System.out.print(pt1.x + pt2.x);}}A. 6B. 3 4C. 8D. 716.关于abstract不能和哪些关键字共用正确的是()A. abstract不可以和private共用B. abstract不可以和static共用C. abstract不可以和final共用D. abstract不可以和public共用17.给定一个Java程序Test.java的代码如下所示,编译时,会出现以下()情况。

class Parent {public int count() { // 第1行return 0;}}public class Test extends Parent {public float count() { // 第2行//子类重写父类方法,要求返回值必须一致.按继承算也会报错,因为构不成重载return 9; // 第3行}}A. 编译通过B. 在第1行引发编译错误C. 在第2行引发编译错误D. 在第3行引发编译错误18.给定Java程序Child.java的代码如下所示,则编译运行该类的结果是()。

class Parent {Parent() {System.out.println("parent");}}public class Child extends Parent {Child(String s) {System.out.println(s);}public static void main(String[] args) {Child child = new Child("child"); //先调用父类的无参构造函 }}A. childB. childparentC. parentchildD. 编译错误19.下列选项中关于Java中super关键字的说法错误的是()。

A. 当子父类中成员变量重名的时候,在子类方法中想输出父类成员变量的值,可以用super区分子父类成员变量B. super语句可以放在构造函数的任意一行C. 子类可以通过super关键字调用父类的方法D. 子类可以通过super关键字调用父类的属性20.给定如下Java代码 , 以下()方法可以加入Child类中。

public class Parent{int change(){//此处省略N行代码}}Class Child extends Parent{//(此处可以放入下面哪个选项)}A. public int change(){}B. int show(int i){}C. private int change(){}D. abstract int change(){}21.分析如下所示的Java代码,则选项中的说法正确的是()。

class Parent{public String name;public Parent(String pName){ = pName;}}public class Test extends Parent { //1public Test(String Name){ //2name="hello"; //3super("kitty"); //4 //super()语句必须放在第1行}}A. 第2行错误,Test类的构造函数中参数名称应与其父类构造函数中的参数名相同B. 第3行错误,应使用super关键字调用父类的name属性,改为="hello";C. 第4行错误,调用父类构造方法的语句必须放在子类构造方法中的第一行D. 程序编译通过,无错误22.下面关于Java接口的说法正确的是()。

A. Java接口中定义的是扩展功能B. Java接口中可以被多个子类实现,一个类也可以同时实现多个接口C. Java接口中可以声明私有成员D. Java接口不能被实例化23.给出下面的不完整的类代码class Person {String name, department;int age;public Person(String n){ name = n; }public Person(String n, int a){ name = n; age = a; }public Person(String n, String d, int a) {// 完成Person(String n, int a)的逻辑department = d;}}下面的哪些表达式可以加到构造方法中的注释处? ( )A. Person(n,a);B. this(Person(n,a));C. this(n,a);D. this(name,age);24.关于对象成员占用内存的说法哪个正确?()A.同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对25.给定Java代码如下所示,则编译运行后,输出结果是()。

相关文档
最新文档