Java面向对象(二)习题

  • 格式:doc
  • 大小:298.50 KB
  • 文档页数:8

1、Java中用于定义接口的关键字是()A、importB、packageC、classD、interface2、以下关于abstract的说法,正确的是( )A、abstract只能修饰类B、abstract只能修饰方法C、abstract类中必须有abstract方法D、abstarct方法所在的类必须用abstract修饰3、下列哪种说法是正确的()A、私有方法不能被子类覆盖。

B、子类可以覆盖超类中的任何方法。

C、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法。

D、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集。

4、关于类继承的说法,正确的是()A、Java 类允许多重继承B、Java接口允许多继承C、接口和类都允许多继承D、接口和类都不允许多继承5、关于抽象类,正确的是______。

A. 抽象类中不可以有非抽象方法B. 某个非抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法C. 不能用抽象类去创建对象D. 接口和抽象类是同一个概念6、下列哪个类是由编译器自动生成对象的特殊类,是用于类操作?()A、Class类B、Thread类C、System类D、Object类7、下面关于继承的哪些叙述是正确的。

( )A、在java中只允许单一继承。

B、在java中一个类只能实现一个接口。

C、在java中一个类不能同时继承一个类和实现一个接口。

D、java的单一继承使代码更可靠。

8、抽象类A和抽象类B的定义如下:abstract class ex4_5_10_A {abstract int getinfo();}public class ex4_5_10 extends ex4_5_10_A {private int a = 0;public int getinfo() {return a;}public static void main(String args[]) {ex4_5_10 b = new ex4_5_10();System.out.println(b.getinfo());}}关于上述代码说明正确的是()。

A. 输出结果为0B.通过编译但没有输出任何结果C. 第5行不能通过编译D. 程序第2行不能通过编译9、下面程序的运行结果是______class ex4_5_11_A {protected static int count = 0;public ex4_5_11_A() {count++;}}class ex4_5_11_B extends ex4_5_11_A {public ex4_5_11_B() {count++;}}class ex4_5_11 {public static void main(String args[]) {ex4_5_11_B x = new ex4_5_11_B();System.out.println("count=" + x.count);}}A. count=1B. count=2C. count=3D. count=49、设有下面两个类的定义:class Person{ long id; // 身份证号String name; // 姓名}class Student extends Person{ int score; // 入学总分int getScore(){return score;}}问:类Person和类Student的关系是()A、包含关系B、继承关系C、关联关系D、无关系,上述类定义有语法错误10.下面的程序段执行后输出的结果是()StringBuffer buf=new StringBuffer("China2008");buf.insert(5,"@");System.out.println(buf.toString());A、China2008@B、@China2008C、China@2008D、China#2008填空题:1、对于接口的实现,不可以构造一个接口对象,但可以声明一个接口______。

1、在Java语言中所有的类都是直接或间接地继承______类而得到的。

2、在Java中一个父类可以有______个子类,一个类只能有______个直接父类。

3、什么是继承?什么是多重继承和单继承?Java采用何种机制来实现多重继承?4、什么是隐藏?什么是重写?二者有何区别?5、子类会继承父类的所有方法和属性么?6.简述接口定义的一般格式。

7.什么是接口?如何定义接口?接口与类有何区别?8.比较接口与抽象类的异同。

9.什么是抽象类?什么是抽象方法?各自有什么特点?判断题1.Java语言中,构造方法是不可以继承的。

()2.子类的成员变量和成员方法的数目一定大于等于父类的成员变量和成员方法的数目。

()3.抽象方法是一种只有说明而无具体实现的方法。

()4.Java语言中,所创建的子类都应有一个父类。

()5.调用this 或super构造方法的语句必须放在第一条语句。

()6.一个类可以实现多个接口,接口可以实现“多重继承”。

()7.实现接口的类不能是抽象类。

()8.使用构造方法只能给实例成员变量赋初值。

()9.Java 语言不允许同时继承一个类并实现一个接口。

()分析题1.分析下面的程序,写出运行结果。

public class Exercises6_1 extends TT{public void main(String args[]){Exercises6_1 t = new Exercises6_1("Tom");}public Exercises6_1(String s){super(s);System.out.println("How do you do?");}public Exercises6_1(){this("I am Tom");}}class TT{public TT(){System.out.println("What a pleasure!");}public TT(String s){this();System.out.println("I am "+s);}}运行结果是:()2.分析下面的程序,写出运行结果。

public class Exercises6_2 {private static int count;private String name;public class Student {private int count;private String name;public void Output(int count) {count++;this.count++;Exercises6_2.count++;Exercises6_2.this.count++;System.out.println(count + " " + this.count + " "+ Exercises6_2.count + " " + Exercises6_2.this.count++);}}public Student aStu() {return new Student();}public static void main(String args[]) {Exercises6_2 g3 = new Exercises6_2();g3.count = 10;Exercises6_2.Student s1 = g3.aStu();s1.Output(5);}}运行结果是:()3.分析下面的程序,写出运行结果。

class Exercises6_3 {class Dog {private String name;private int age;public int step;Dog(String s, int a) {name = s;age = a;step = 0;}public void run(Dog fast) {fast.step++;}}public static void main(String args[]) {Exercises6_3 a = new Exercises6_3();Dog d = a.new Dog("Tom", 3);d.step = 29;d.run(d);System.out.println(" " + d.step);}}运行结果是:()4.分析下面的程序,写出运行结果。

class Aclass { void go() { System.out.println("Aclass"); } }public class Bclass extends Aclass {void go() { System.out.println("Bclass"); }public static void main(String args[]) {Aclass a = new Aclass();Aclass a1 = new Bclass();a.go();a1.go();} }运行结果是:()编程题1.将一个字符串反转2.获取一个字符串在另一个字符串中出现的次数3将一个字符串全部转换大写,将一个字符串全部转换小写,将一个字符串大写变小写,小写变大写4.把客户端输入如下格式的时间(2008/09/10)换成如下格式(2008-09-10)5.将一个字符串的第一个字符与最后一个字符组合成一个新字符串。

6.简述String str=null,String str=””之间的区别7.列举Java 判断字符串是否为空的的方法8. 给出字符串的两个位置,pos1和pos2, 如何替换pos1和pos2之间的字串9. 要求:参考API帮助,查找相关的方法,使用String类完成如下功能,对英文字符串进行加密处理。

a、将给定的英文字符取相反顺序,并改变每个字符的大小写形式(大写变小写、小写变大写)。

b、将经第一步处理的信息进一步加工,将每个字符取其所在字母表中的顺序,取其后一个字母。

c、编写解密方法。

d、编写测试函数,在运行时通过命令行参数接受需要处理的字符串,将源字符串、加密字符串和解密字符串打印到屏幕输出。

10.区别String s=""与String s=null的不同?11.字符串"yekmaakkccekymbvb",求出字符串中有多少种字符,以及每个字符的个数?12.从控制台输入字符串,字符串之间用逗号连接,然后按逗号分隔成数组,对字符串数组进行升序排列并打印输出13.编写一个截取字符串的方法,输入为一个英文字符串、起始位置、截取字节数,输出截取的字符串。