接口)的实例或子类实例,语法为:
对象(或对象引用变量) instanceof 类(接口) 18、Object类
? Object是所有类的父类,即每个类都直接或间接地继承自该类
? 在实际开发中希望toString()方法返回更有价值的信息,可以重写Object的toString()方法便可以实现。
练习题
一、 填空题
1、面向对象的三大特征是( )、( )、( ) 2、在Java中,可以使用关键字( )来创建类的实例对象
3、定义在类中的变量被称为( )定义在方法中的变量被称为( ) 4、面向对象程序设计的重点是( )、的设计,( )是用来创建对象的模板。
5、在非静态成员方法中,可以使用关键字( )访问类的其他非静态成员。 6、当一个对象被当成垃圾从内存中释放时,它的( ) 方法会被自动调用。 7、被static关键字修饰的成员变量被称为( ),它可以被该类所有的实例对象共享。 8、在一个类中,除了可以定义属性、方法,还可以定义类,这样的类被称为( )。
9、在Java中,提供了一个( )命令,用于将程序中的文档注释提取出来,生成HTML格式的帮助文档。
10、所谓类的封装是指在定义一个类时,将类中的属性私有化,即使用( )关键字来修饰。 11、在Java语言中,允许使用己存在的类作为基础创建新的类,这种技术称为( ) 12、一个类如果实现一个接口,那么它就需要实现接口中定义的全部( ),否则该类就必须定义成( )
13、在程序开发中,要想将一个包中的类导人到当前程序中,可以使用( )关键字。 14.一个类可以从其他的类派生出来,派生出来的类称为( ),用于派生的类称为( )或者( )
15、定义一个Java类时,如果前面使用( )关键字修饰,那么该类不可以被继承。
16、如果子类想使用父类的成员,可以通过关键字( )引用父类的成员。 17、在Java语言中,所有的类都直接或间接继承自( )类。 18、构造方法是一种特殊的成员方法,构造方法名与( )相同。
19、实现接口中的抽象方法时,必须使用(完全相同)的方法头,并且还要用(public)修饰符。 20、如果一个类包含一个或多个abstract方法,则它是一个(abstract)类。 21.Java不直接支持类的多继承,但可以通过(接口)实现多继承。 22.一个接口可以通过关键字extends来继承(多个)其他接口。
23、接口中只能包含(public static final)类型的成员变量和(public abstract)类型的成员方法。
二、 选择题
1.类的定义必须包含在以下哪种符号之间?( )
A.方括号[] B,花括号{} C、双引号“”D.圆括号( ) 2.下面哪一个是正确的类的声明?( )
A. public void HH{…} B. public class Mave(){…}
资料
C. public class void number{} D. public class Car{…} 3.在以下什么情况下,构造方法会被调用?( ) A.类定义时 B.创建对象时
C.调用对象方法时 D.使用对象的变量时
4.下面对于构造方法的描述,正确的有哪些?(多选)( ) A、方法名必须和类名相同
B.方法名的前面没有返回值类型的声明
C.在方法中不能使用return语句返回一个值
D.当定义了带参数的构造方法。系统默认的不带参数的构造方法依然存在 5.使用this调用类的构造方法,一F面的说法正确的是?(多选)( ) A.使用this调用构造方法的格式为this([参数1,参数…]) B.只能在构造方法中使用this调用其他的构造方法 C.使用th is调用其他构造方法的语句必须放在第一行 D.不能在一个类的两个构造方法中使用this互相调用 6、下面哪些可以使用static关键字修饰?〔多选)( ) A.成员变量B。局部变量C.成员方法 D、成员内部类 7、请先阅读下面的代码 public class Test{ public Test(){
System.out.println(“构造方法一被调用了”);
} public Test(int x){ this();
System.out.println(“构造方法二被调用了”);
} public Test(boolea b){ this(1); System.out.println(“构造方法三被调用了”);
}
public static void main(String args[]){ Test test=newTest(true); }
}
上面程序的运行结果为下列哪一项?( )
A.构造方法一被调用了 B.构造方法二被调用了 C.构造方法三被调用了 D.以上三个选项之和
8、在类的继承关系中,需要遵循以下哪个继承原则?( )
A、多重 B、单一 C.双重 D、不能继承
9、关于super关键字以下说法哪些是正确的?(多选) ( )
A、super关键字可以调用父类的构造方法 B、super关键字可以调用父类的普通方法
C、super与this不能同时存在于同一个构造方法中 D、super与this可以同时存在于同一个构造方法中 10、以下说法哪些是正确的?(多选) ( ) A、Java语言中允许一个类实现多个接口 B. Java语言中不允许一个类继承多个类
资料
C. Java语言中允许一个类同时继承一个类并实现一个接口 D. Java语言中允许一个接口继承一个接口
11、类中的一个成员方法被下面哪个修饰符修饰时,该方法只能在本类被访问?( ) A、public B、 protected C. private D. default 12、关于抽象类的说法哪些是正确的?多选( ) A、抽象类中可以有非抽象方法
B、如果父类是抽象类,则子类必须重写父类所有的抽象方法 C、不能用抽象类去创建对象 D、接口和抽象类是同一个概念
13、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?( ) A、inherits B、implements C、extends D、modifies 14、System类位于以下哪个包中?( )
A、java.io B、java.util C、java.awt D、java.lang 15、已知类的继承关系如下:
class Employee;
class Manager extends Employee;
class Director extends Employee;
则以下语句能通过编译的有哪些?( )
A、Employee e = new Manager(); B、Director d =new Manager(); C、Director d =new Employee (); D、Manager m= new Director(); 16、编译运行下面的程序,结果是什么?( )
public class A{ public static void main(String args[]){ B b=new B(); b.test(); } void test(){ System.out.println(“A”); } } class B extends A{ void test(){ super.test();
System.out.println(“B”);
} }
A、产生编译错误 B、代码可以编译运行,并输出结果AB
C、代码可以编译运行,但没有输出 D、编译没有错误,但会产生运行时异常 17、关于对象与类之间的关系,最合适的叙述是( )。
A、类是程序,对象是变量 B、对象是类的数据 C、类是对象的实例 D、对象是类的实例 18、有关类的说法,正确的是( )。
A、类具有封装性,所以类的数据是不能被访问的。
B、类具有封装性,但可以通过类的公共接口访问类中的数据 C、声明一个类时,必须使用public修饰符
资料
D、每个类中必须有main()方法,否则程序无法运行。 19、对于类定义( ),可以通过”new J_Class()”生成类J_Class的实例对象。 A、public class J_Class {public J_Class(void){}} B、public class J_Class { }
C、public class J_Class {public J_Class(String s){}} D、public class J_Class {public J_Class(){} public J_Class(String s){} } 20、关于下面程序,结论正确的是 ( )。
public class J_Test{
public static void main(String args[]) int a[]=new int[5}; boolean b[]=new boolean[5];
System. out. println(a[4]);
System. out. Println(b[5]); } }
A.程序可以通过编译并正常运行,结果输出“0false\B.程序可以通过编译并正常运行,结果输出“1true\G.程序无法通过编译
D.程序可以通过编译,但无法正常运行
21、为了保持对象的封装性,必须做除了( ) 之外的所有工作。 A.在类中定义方法来存取实例数据 B、将类变为final
C.将类中的方法变为public D.将对象实例数据变为private 22、为了创建一个常量,应该用Java保留字( )。 A、const B、final C、finalized D、fixed 23、关于构造方法的叙述中,错误的是( )。 A、Java语言规定构造方法名与类名必须相同
B、Java语言规定构造方法没有返回值,但不用void声明 C、Java语言规定构造方法不可以重载
D、Java语言规定构造方法只能通过new自动调用 24、下列说法正确的是( )。
A、不需要定义类,就能创建对象 B、对象中必须有属性和方法
C、属性可以是简单变量,也可以是一个对象 D、属性必须是简单变量
25、子类中定义了一个方法,该方法和父类的方法声明相同,但是具有不同的方法体,称为子类方法( )父类方法。
A、重载 B、覆盖 C、复制 D、调用 26、( )可以正确覆盖protected double xMethod(int x){….}方法。
A、private double xMethod(int x){….} B、protected int xMethod(double x){….} C、public double xMethod(double x){….} D、public double xMethod(int x){….} 27、下面( )是正确的接口定义。
A、 B、 interface A{ abstract interface A extends I1,I2{ void print(){}; abstract void print(){}; } }
资料