一、填空题
1、如果子类想使用父类中的成员,可以通过关键字______引用父类的成员。
2、若int a[3][2]={{123,345},{34,56},{34,56}},则a[2][1]= ______。
3、在程序开发中,要想将一个包中的类导入到当前程序中,可以使用______关键字。
4、在Java语言中,所有的类都直接或间接继承自______类。
5、定义一个Java类时,如果前面加使用______关键字修饰,那么该类不可以被继承。
6、若x = 2,则表达式( x + + )/3 的值是______。
7、定义在类中的变量被称为______,定义在方法中的变量被称为______
8、面向对象的三大特征是______、______和______。
9、编译Java程序需要使用______命令。
10、String类中用于返回字符串字符个数的方法是_____。
二、选择题
1、先阅读下面的程序片段:
String str1=new String("java");
String str2=new String("java");
StringBuffer str3=new StringBuffer("java");
对于上述定义的变量,以下表达式的值为true的是哪个?
A、str1==str2;
B、str1.equals(str2);
C、str1==str3;
D、以上都不对
2、关于方法重载的描述,以下选项中哪些是正确的?(多选)
A、方法名必须一致
B、返回值类型必须不同
C、参数个数必须一致
D、参数的个数或类型不一致
3、下面哪一个是正确的类的声明?
A、public void HH{…}
B、public class Move(){…}
C、public class void number{}
D、public class Car{…}
4、关于super关键字以下说法哪些是正确的?(多选)
A、super关键字可以调用父类的构造方法
B、super关键字可以调用父类的普通方法
C、super与this不能同时存在于同一个构造方法中
D、super与this可以同时存在于同一个构造方法中
5、请先阅读下面的代码
public class Test {
public Test(){
System.out.println("构造方法一被调用了");
}
public Test(int x){
this();
System.out.println("构造方法二被调用了");
}
public Test(boolean b){
this(1);
System.out.println("构造方法三被调用了");
}
public static void main(String[] args) {
Test test = new Test(true);
}
}
上面程序的运行结果为下列哪一项?
A、构造方法一被调用了
B、构造方法二被调用了
C、构造方法三被调用了
D、以上三个选项之和
6、String s = "abcdedcba";则s.substring(2,3)返回的字符串是以下选项中的哪个?
A、cd
B、de
C、d
D、e
7、先阅读下面的程序片段:
String str = "abccdefcdch";
String[] arr = str.split("c");
System.out.println(arr.length);
程序执行后,打印的结果是几?
A、2个
B、3个
C、4个
D、5个
8、下面对于构造方法的描述,正确有哪些?(多选)
A、方法名必须和类名相同
B、方法名的前面没有返回值类型的声明
C、在方法中不能使用return语句返回一个值
D、当定义了带参数的构造方法,系统默认的不带参数的构造方法依然存在
9、使用this调用类的构造方法,下面的说法正确的是?(多选)
A、使用this调用构造方法的格式为this([参数1,参数2…])
B、只能在构造方法中使用this调用其它的构造方法
C、使用this调用其它构造方法的语句必须放在第一行
D、不能在一个类的两个构造方法中使用this互相调用
10、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?
A、inherits
B、implements
C、extends
D、modifies
11、类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问?
A、public
B、protected
C、private
D、defaul
12、以下关于变量的说法错误的是?
A、变量名必须是一个有效的标识符
B、变量在定义时可以没有初始值
C、变量一旦被定义,在程序中的任何位置都可以被访问
D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声
13、关于抽象类的说法哪些是正确的?(多选)
A、抽象类中可以有非抽象方法。
B、如果父类是抽象类,则子类必须重写父类所有的抽象方法。
C、不能用抽象类去创建对象。
D、接口和抽象类是同一个概念。
14、在以下什么情况下,构造方法会被调用?
A、类定义时
B、创建对象时
C、调用对象方法时
D、使用对象的变量时
15、已知类的继承关系如下:
class Employee;
class Manager extends Employeer;
class Director extends Employee;
则以下语句能通过编译的有哪些?
A、Employee e=new Manager();
B、Director d=new Manager(); 。。。
C、Director d=new Employee();
D、Manager m=new Director();
三、程序分析题
阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否则请说明编译失败的原因。
代码一:
interface Animal {
void breathe();
void run();
void eat(){};
}
class Dog implements Animal {
public void breathe() {
System.out.println("I’m breathing")
}
public void eat() {
System.out.println("I’m eathing")
}
}
public class test04 {
public static void main(String [] args) {
Dog dog = new Dog();
dog.breathe();
dog.eat();
}
}
代码三:
final class Animal {
public final void shout() {
/
/ 程序代码
}
}
class Dog extends Animal {
public void shout() {
// 程序代码
}
}
class Test02 {
public static void main(String[] args) {
Dog dog=new Dog();
}
}
代码三:
class Animal {
void shout() {
System.out.println("动物叫!");
}
}
class Dog extends Animal {
void shout() {
super.shout();
System.out.println("汪汪……");
}
}
public class Test03 {
public static void main(String[] args) {
Animal animal = new Dog();
animal.shout();
}
}
四、编程题
1、已知函数
x - 7 ( x > 0 )
y = 0 ( x = 0 )
x2 +2 ( x < 0 )
请设计一个方法实现上面的函数,根据传入的值x的不同,返回对应的y值。
提示:
1)定义一个static修饰符修饰的方法,方法接收一个int类型的参数x,返回值为
int类型。
2)在方法中使用if…lse语句针对x的值进行三种情况的判断。
3)根据判断结果分别执行不同的表达式,并将结果赋予变量y。
4)在方法的最后返回y的值。
5)在main方法中调用设计好的方法,传入一个int型的值,将方法的返回值打印。java类的概念
2、设计一个Shape接口和它的两个实现类Square和Circle,要求如下:
1)Shape接口中有一个抽象方法area(),方法接收有一个double类型的参数,返
回一个double类型的结果
2)Square和Circle中实现了Shape接口的area()抽象方法,分别求正方形和圆形的面积并返回
在测试类中创建Square和Circle对象,计算边长为2的正方形面积和半径为3的圆形面积