1、专题 5 类与对象的创建和使用一、选择题1 方法内定义的变量(c ) 。A一定在方法内所有位置可见 B可能在方法的局部位置可见C在方法外可以使用 D在方法外可见2 方法的形参(a ) 。A可以没有 B至少有一个C必须定义多个形参 D只能是简单变量3 return 语句( b) 。A不能用来返回对象 B只可以返回数值C方法都必须含有 D一个方法中可以有多个4 main()方法的返回值类型是(c ) 。Aboolean BintCvoid Dstatic5 编译并运行下面的程序,运行结果是( ) 。public class Apublic static void main(String args)
2、A a=new A();a.method(8);void method(int i)System.out.println(“int: ”+i);void method(long i)System.out.println(“long: ”+i);A程序可以编译运行,输出结果为:“int: 8” B程序可以编译运行,输出结果为:“long: 8” C程序有编译错误,因为两个 method()方法必须定义为静态(static)的D程序可以编译运行,但是没有输出6 能作为类及其成员的修饰符是(d ) 。Ainterface BclassCprotected Dpublic7 下列方法定义中,方法头不正
3、确的是( ) 。Apublic static x(double a) Bpublic static int x(double y)Cvoid x(double d) Dpublic int x()8 构造方法合时被调用(d ) 。A类定义时 B使用对象的变量时C调用对象方法时 D创建对象时9 下列哪个类声明是正确的(a ) 。Apublic abstract class Car Babstract private move()Cprotected private number; Dabstract final class H110 下列不属于面向对象程序设计的基本特征的是( ) 。A抽象 B封
4、装C继承 D静态11 请看下面的程序段class PersonString 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 )/doing the same as two arguments version if constructer下面那个选项可以添加到/ doing the same处( )APerson(n,a) Bthis(Person(n,a)Cthis(n,
5、a) Dthis(name.age)12 请看下面的程序段class Testprivate int m;public static void fun()/some code方法 fun()如何来访问变量 m( )A将 private int m 改成 protected int m B将 private int m 改成 public int mC将 private int m 改成 static int m D将 private int m 改成 int m 13 有一个类 A,对于其构造函数的声明正确的是( ) 。Avoid A(int x) Bpublic A(int x)CA A(i
6、nt x) Dint A(int x)14 请看下面的程序段public class Testlong a=new long10;pubic static void main(String args)System.out.println(a6);哪一个选项是正确的( a ) 。A不输出任何内容 B输出 0C当编译时有错误出现 D当运行时有错误出现15 关键字( )表明一个对象或变量在初始化后不能修改。Aextends BfinalCthis Dfinalize16 声明为 static 的方法不能访问( )类成员。A超类 B子类C非 static D用户自定义类17 定义类 A 如下:clas
7、s Aint a,b,c;public void B(int x,int y, int z) a=x;b=y;c=z;下面对方法 B 的重载哪些是正确的( ) 。Apublic void A(int x1,int y1, int z1) a=x1;b=y1;c=z1;Bpublic void B(int x1,int y1, int z1) a=x1;b=y1;c=z1;Cpublic void B(int x,int y) a=x;b=y;c=0; Dpublic B(int x,int y, int z) a=x;b=y;c=z;18 编译运行下面的程序,结果是( ) 。public cl
8、ass Apublic static void main(String args)B b=new B();b.test();void test()System.out.print(“A”);class B extends Avoid test()super.test();System.out.print(“B”);A产生编译错误 B代码可以编译运行,并输出结果:ABC代码可以编译运行,但没有输出 D编译没有错误,但会产生运行时异常19 已知类关系如下:Class EmployeeClass Manager extends EmployeeClass Director extends Emplo
9、yee则下列语句正确的是:( ) 。AEmployee e=new Manager(); BDirector d=new Manager();CDirector d =new Employee (); DManager m=new Director ();20 接口是 Java 面向对象的实现机制之一,以下说法正确的是( ) 。AJava 支持多重继承,一个类可以实现多个接口BJava 只支持单重继承,一个类可以实现多个接口CJava 只支持单重继承,一个类可以实现一个接口 DJava 支持多重继承,但一个类只可以实现一个接口二、编程题专题 6 类的继承和多态一、填空题1已知 String 对
10、象 s=”hello”,运行语句“System.out.println(s.concat(“World!”);”后,s 的值为( )2使用+= 将字符串 s2 添加到字符串 s1 后的语句是( )3比较 s1 种的字符串和 s2 种的字符串的内容是否相等的表达式是:( )4已知 sb 为 StringBuffer 的一个实例,且 sb=”abcde”,则 sb.reverse()后 sb 的值为:( )5获取当前系统时间( )二选择题1 已知 String 对象 s=”abcdefg”,则 s.substring(2,5)的返回值为( ) 。A ”bcde” B ”cde”C ”cdef” D
11、 ”def”2 若有下面的代码:String s=”people”;String t=”people”;Char c=p, e, o, p, l, e;下面哪一选项的语句返回值为假( )?As.equals(t) Bt.equals(c)Cs=t Dt.equals(new String(“people”)3 已知 s 为一个 String 对象,s=”abcdefg”,则 s.charAt(1)的返回值为( ) 。Aa BbCf Dg4 若有下面的代码:String s=”good”;下面选项语句书写正确的是:( ) 。As+=”student”; Bchar c=s1;Cint len=s
12、.length DString t=s.toLowerCase();三、编程题1实现把“I Love Java!”的字符全部转换为小写并输出到控制台。2使用 String 类中的 split()函数,统计出“this is my homework! I must finish it!”中单词的个数。(注意:单词之间用一个空格来分隔。 )3给出两个日期,计算它们之间相隔的天数。4实现将当前日期信息以 4 位年份、月份全称、两位日期形式输出。专题 7 类的高级特性一、填空题二选择题三、编程题1某公司正进行招聘工作,被招聘人员需要填写个人信息,编写“个人简历”的封装类。包括如下属性和对属性进行操作的
13、方法。String xm;/ 姓名String xb;/ 性别int nl;/ 年龄String jtzz;/ 家庭住址String xl;/ 学历2编写程序,提供实现各种数学计算的方法。包括如下几项。(1)两个数的加、减、乘、除。(2)求某数的相反数、倒数、绝对值。(3)取两数中较大的和较小的。(4)对浮点数(double 型)的计算功能。如:给定浮点数 d,取大于或等于 d 的最小整数,取小于或等于 d 的最大整数,计算最接近 d 的整数值,计算 d 的平方根、自然对数 log(d)等。(5)计算以 double 型数 a 为底数,b 为指数的幂。3编写一个抽象类 Shape,声明计算图形
14、面积的抽象方法。再分别定义 Shape 的子类Circle(圆)和 Rectangle(矩形) ,在两个子类中按照不同图形的面积计算公式,实现 Shape 类中计算面积的方法。4定义一个接口,接口中有 3 个抽象方法如下。(1) “long fact(int m);”方法的功能为求参数的阶乘。(2) “long intPower(int m,int n);”方法的功能为求参数 m 的 n 次方。(3) “boolean findFactor(int m,int n);”方法的功能为判断参数 m 加上参数 n 的和是否大于 100。定义类实现该接口,编写应用程序,调用接口中的 3 个方法,并将调
15、用方法所得的结果输出。5创建一个接口 IShape,接口中有一个求取面积的抽象方法“public double area()”。定义一个正方形类 Square,该类实现了 IShape 接口。Square 类中有一个属性 a 表示正方形的边长,在构造方法中初始化该边长。定义一个主类,在主类中,创建 Square 类的实例对象,求该正方形对象的面积。6定义一个人类,包括属性:姓名、性别、年龄、国籍;包括方法:吃饭、睡觉,工作。(1)根据人类,派生一个学生类,增加属性:学校、学号;重写工作方法(学生的工作是学习) 。(2)根据人类,派生一个工人类,增加属性:单位、工龄;重写工作方法(工人的工作是自己想吧) 。(3)根据学生类,派生一个学生干部类,增加属性:职务;增加方法:开会。(4)编写主函数分别对上述 3 类具体人物进行测试。