Java面向对象复习测试2
- 格式:pdf
- 大小:323.82 KB
- 文档页数:34
单选题:(每道题目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第二次测试题汇总面向对象程序设计第二次测试题一、定义一个抽象的"Role"类,有姓名,年龄,性别等成员变量1.要求尽可能隐藏所有变量(能够私有就私有,能够保护就不要公有),再通过GetXXX()和SetXXX()方法对各变量进行读写。
具有一个抽象的play()方法,该方法不返回任何值,同时至少定义两个构造方法。
Role 类中要体现出this的几种用法。
2.从Role类派生出一个"Employee"类,该类具有Role类的所有成员(构造方法除外),并扩展salary成员变量,同时增加一个静态成员变量“职工编号(ID)”。
同样要有至少两个构造方法,要体现出this和super的几种用法,还要求覆盖play()方法,并提供一个finalsing()方法。
3."Manager"类继承"Employee"类,有一个final成员变量"vehicle"4.在main()方法中制造Manager和Employee对象并测试这些对象的方法二、品尝饮料1、建立一个Java抽象类Drink,应当:a、声明一个抽象方法taste(),该方法负责输出饮料的味道;b、声明int型常量来代表不同的饮料类型(咖啡、啤酒、牛奶),如:c、声明静态方法getDrink(intdrinkType),根据传入的参数创建不同的饮料对象,并返回该对象,建议使用switch语句。
该方法要求声明DrinkNotFoundException,当没有相对应的饮料类型时,抛出该异常。
2、建立Drink的具体子类:a、分别建立Drink的子类:Coffee(代表咖啡),Beer(代表啤酒),Milk(代表牛奶);b、实现taste()方法,要求在控制台打印各自的味道特征。
3、建立异常类DrinkNotFoundException继承Exceptionb、在Drink的方法getDrink(intdrinkType)中声明引发DrinkNotFoundException异常,当传入的参数没有相对应的饮料类型时,抛出异常。
JAVA语言与面向对象程序设计期末复习题2011年上(一)单项选择题(二) 1.对象是构成现实世界的一个独立单位,它具有自己的静态特征和()特征。
A. 颜色B. 动态C. 状态D. 重量2.使用JDK编译ja v a程序时使用的命令是()。
A. javaB. javacC. appletviewerD. javadoc3.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符()。
A. privateB. protectedC. publicD. static4.在类的定义中,若需要把一个标识符定义为常量,则使用的修饰符为()。
A. constB. finalC. staticD. class5.在程序中声明包的语句关键字为()。
A. volatileB. packC. importD. package6.在一个方法的方法头(声明)中向调用它的上一层方法抛出异常的子句关键字为()。
A. catchB. throwC. throwsD. finally7.在类定义首部的语法格式中,()不能作为其中的修饰符。
A. publicB. protectdC. extendsD. abstract8.下列哪个类不是异常类的父类?()。
A. ErrorB. ThrowableC. ExceptionD. Object9.下面的关键字()与异常处理无关。
A. throwB. throwsC. importD. finally10.在读字节文件Employee.dat 时,使用该文件作为参数的类是()。
A. BufferedReaderB. DataInputStreamC. DataOutputStreamD. FileInputStream(二)填空题1.Java类库也称为Java API,它是Application Programming Interface的缩写,中文含义为________。
2.Java语言中用于修饰类的成员具有保护或私有访问属性的关键字分别为________和________。
java面向对象练习题# Java面向对象练习题一、选择题1. 在Java中,以下哪个关键字用于定义类的访问权限为“仅包内可见”?- A. public- B. private- C. protected- D. 默认(不写访问修饰符)2. 以下哪个是Java中的构造方法?- A. 与类名相同,没有返回类型的方法- B. 与类名不同,没有返回类型的方法- C. 与类名相同,有返回类型的方法- D. 与类名不同,有返回类型的方法3. 在Java中,哪个关键字用于实现类的继承?- A. extends- B. implements- C. override- D. abstract4. 以下哪个是Java中类的成员变量?- A. 局部变量- B. 实例变量- C. 静态变量- D. 方法参数5. 以下哪个是Java中的多态性?- A. 接口- B. 继承- C. 封装- D. 抽象类二、简答题1. 解释Java中的封装性,并给出一个封装的类的例子。
2. 描述Java中接口和抽象类的区别。
3. 什么是Java中的继承?请举例说明如何使用继承。
三、编程题1. 创建一个名为`Person`的类,包含姓名(name)、年龄(age)和性别(gender)三个属性。
为每个属性提供getter和setter方法。
2. 编写一个名为`Student`的类,它继承自`Person`类,并添加一个名为`studentID`的属性。
为`studentID`提供getter和setter方法,并重写`toString`方法以返回学生的详细信息。
3. 创建一个接口`Movable`,包含一个方法`move()`。
然后创建一个名为`Car`的类实现该接口,并提供`move`方法的具体实现。
四、综合应用题1. 设计一个简单的银行账户系统,包含以下类:- `Account`:基本账户类,包含账户ID、账户余额和存款(deposit)与取款(withdraw)方法。
java面向对象考试题及答案一、选择题(每题2分,共10分)1. 在Java中,以下哪个关键字用于定义一个类?A. classB. structC. interfaceD. enum答案:A2. 以下哪个选项是Java中类的成员变量?A. 方法B. 构造函数C. 属性D. 包答案:C3. 在Java中,哪个关键字用于实现类的继承?A. extendsB. implementsC. importD. package答案:A4. 在Java中,以下哪个关键字用于定义一个接口?A. classB. structC. interfaceD. enum答案:C5. 在Java中,以下哪个关键字用于定义一个枚举类型?A. classB. structC. enumD. interface答案:C二、填空题(每题2分,共10分)1. 在Java中,一个类可以继承另一个类的______方法。
答案:public2. 当一个类实现了一个接口,它必须提供接口中所有方法的______实现。
答案:具体3. Java中的______关键字用于定义一个包。
答案:package4. 在Java中,______关键字用于声明一个方法,该方法没有返回值。
答案:void5. 在Java中,______关键字用于声明一个方法,该方法返回一个布尔值。
答案:boolean三、简答题(每题5分,共20分)1. 简述Java中构造函数的作用。
答案:构造函数是类的特殊方法,用于在创建对象时初始化对象的状态。
它具有与类同名的名称,并且没有返回类型。
2. 描述Java中接口和抽象类的区别。
答案:接口是完全抽象的,不能包含任何实现细节,而抽象类可以包含实现细节。
接口中的方法默认是public和abstract的,而抽象类可以有非抽象方法。
一个类可以实现多个接口,但只能继承一个抽象类。
3. 什么是Java中的多态性?请举例说明。
答案:多态性是指允许不同类的对象对同一消息做出响应的能力。
在规定时间(2小时)内完成下述题目,将题目的答案放至命名为“学号_姓名”的文件夹中,并将其提交至ftp (ftp://10.128.48.10)上的“考试提交”文件夹中,提交后,刷新屏幕,再次确认自己提交的文件大小与本机备份的文件是否一致。
Java编程用java语言逐步编程实现下述类图中的所有类和接口。
遵循Java编程规范,并为撰写的类提供相应的Javadoc注释,相应的测试文件在student-files中,可以分别测试你撰写的类是否正确。
这是一个简单的客户信息系统,该系统维护两类客户:个人客户和大客户。
说明事项:1)除了接口Customer,其他类都需要撰写构造函数,对相应的属性进行初始化。
2)所有命名遵循Java编程规范,并与类图一致,否则可能会测试不通过。
3)注意接口的编写、关联关系和继承关系的实现。
4)类CustomerInformationSystem中的方法addContact可能返回true或false,若通过参数customerId找到的对象是InstitutionalCustomer,则对Contact对象进行添加,方法addContact返回true,否则如果通过参数customerId找到的对象是IndividualCustomer,则不进行添加,方法addContact返回false。
5)equals方法判定两个Person对象是否为同一个,判定条件是name是否相等。
6)toString方法返回对象的所有属性连接形成的字符串,属性之间用下划线“_”隔开。
7)在测试类的指导下完成对每个类的测试。
8)假设cutomerId是唯一的,即不出现重复的cutomerId。
java面向对象试题及答案1. 试题一题目:什么是面向对象编程?请简要描述面向对象编程的优势和特点。
答案:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,将程序中的数据和操作数据的方法进行了封装,使得程序更加模块化和易于理解。
面向对象编程的主要特点包括封装、继承和多态。
封装使得数据和对数据的操作集中在一个对象中,可以隐藏内部实现细节,提供公共的接口进行访问,增加了程序的安全性和灵活性。
继承允许新建的类继承已有类的属性和方法,通过扩展和重写已有类的功能,减少了代码的重复性,提高了代码的复用和可维护性。
多态允许不同的对象对相同的消息作出不同的响应,通过接口和抽象类的使用,实现了更加灵活和可扩展的程序设计。
面向对象编程的优势包括了代码的重用性、可维护性、可扩展性和灵活性。
通过封装和继承的应用,可以减少代码重复,提高开发效率,并且通过多态的应用,可以实现程序的灵活性,方便后续的扩展和修改。
2. 试题二题目:什么是类?请简要描述类的特点和组成部分。
答案:类是面向对象编程中的核心概念,是对一类具有相同属性和行为的对象进行抽象和封装的模板。
类是用来创建对象的蓝图,可以通过实例化类来创建对象。
类的特点包括了封装、继承和多态。
类通过封装将属性和方法进行了封装,提供了公共的接口与外部进行交互,隐藏了内部实现细节。
继承允许新建的类继承已有类的属性和方法,在原有基础上进行修改和扩展。
多态允许不同的对象对相同的消息作出不同的响应,实现了程序的灵活性和可扩展性。
类的组成部分包括了属性(Field)和方法(Method)。
属性(也称为成员变量)用于描述对象的状态,可以是基本类型或其他类的对象。
方法用于描述对象的行为,可以是处理属性的操作,也可以是其他业务逻辑的实现。
3. 试题三题目:请简要解释传值和传引用的区别,并用代码示例说明。
答案:传值和传引用是在方法调用时,参数传递的两种方式。
面向对象部分测试题考试宣言:同学们,考试考多少分不是我们的目的!排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了,那么不用怕,考完试后,导师讲解的时候你要注意听!那时候学会了,记住了,也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。
单选2 分/题,多选4分/题。
多选题不全对半分,全对满分。
1.下面描述函数重写错误的是(C)A.要有子类继承或实现B・子类方法的权限必须大于等于父类的权限C・父类中被private权限修饰的方法可以被子类重写D・了类重写接口屮的抽象方法,了类的方法权限必须是public的2.下列说法哪个正确?(a b c)A.—个程序可以包含多个源文件B.—个源文件中只能有一个公共类C.一个源文件屮可以有多个类D・一个源文件只能供一个程序使用3.下而关于类的设计思路描述错误的是(be)A.根据需求写出类所包含的字段(成员变量)B.根据面向对象的思想要求,所有的字段都必须私有化C.封装之后的字段在木类内也必须使用get/set方法D.按需求可添加若T•构造方法4・关于封装下面介绍错误的是(d )oA.封装将变化隔离B.封装提高重用性。
C.封装捉髙安全性D .只有被private修饰才叫做封装5・试图编译运行下面的代码会发生什么情况(d) public class MyClass{ static int i;public static void main(String[] args){System.out ・ printIn (i);)}A・错误,变量i没冇被初始化B.输出null.C・输出1D・输出06・下面対static的描述错误的是bA.静态修饰的成员变量和成员方法随着类的加载而加载B・静态修饰的成员方法可以访问非i挣态成员变虽C・静态修饰的成员可以被整个类对象所共享D・静态修饰的成员变量和成员方法随着类的消失而消失7.在Java中,下面对于构造函数的描述正确的是(d )。
java面向对象试题及答案(二)1. 什么是面向对象编程?- 面向对象编程(Object-Oriented Programming,OOP)是一种编程思想,它将现实中的事物抽象成对象,并通过对象之间的交互来完成程序的设计和实现。
2. 面向对象编程的特点有哪些?- 封装性:将数据和方法封装在一起,对外部隐藏实现细节,只提供公共接口。
- 继承性:通过继承可以实现代码复用,减少重复编写代码的工作量。
- 多态性:同一种方法可以有不同的实现方式,提高程序的灵活性和可扩展性。
3. 什么是类和对象?- 类是一种抽象的数据类型,它描述了一类事物的属性和行为。
- 对象是类的一个实例,具有该类所描述的属性和行为。
4. 什么是继承?- 继承是一种机制,它允许新的类在已有类的基础上进行扩展,从而实现代码的复用和扩展性的提高。
5. 什么是多态?- 多态是指同一个方法可以有不同的实现方式,具体的实现方式由调用该方法的对象决定。
6. 什么是重载和重写?- 重载是指在同一个类中定义多个同名方法,但参数列表不同,可以根据参数列表的不同来调用不同的方法。
- 重写是指在子类中重新定义父类中已有的方法,使得子类对象调用该方法时执行子类中的实现。
7. 什么是抽象类和接口?- 抽象类是一种不能被实例化的类,它只能被继承,用于定义一些抽象的方法和属性,子类必须实现这些抽象方法和属性才能被实例化。
- 接口是一种只包含抽象方法和常量的抽象类型,它定义了一些规范,子类必须实现这些抽象方法才能被实例化。
8. 什么是异常?- 异常是指程序在运行过程中出现的错误或意外情况,它会导致程序的中断或崩溃。
Java提供了异常处理机制,可以捕获和处理异常,保证程序的正常运行。
9. 什么是泛型?- 泛型是一种抽象的数据类型,它可以用来定义一种通用的类型,使得代码可以更加灵活和可扩展。
泛型可以在编译时检查类型安全,减少运行时错误。
10. 什么是反射?- 反射是指在程序运行时动态地获取类的信息,包括类的属性、方法和构造器等,可以在运行时动态地创建对象、调用方法和访问属性。
目录一、判断题 ........................................................................................... - 2 -二、选择题 ........................................................................................... - 4 -三、填空题 ......................................................................................... - 16 -四、写出下列程序完成的功能......................................... - 25 -五、写出下面程序的运行结果......................................... - 29 -六、使用Java语言编写程序 ............................................. - 33 -七、简答题 ......................................................................................... - 34 -Java程序设计习题集一、判断题1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
( )2.有的类定义时可以不定义构造函数,所以构造函数不是必需的。
( ) 3.类及其属性、方法可以同时有一个以上的修饰符来修饰。
( )4.Java的屏幕坐标是以像素为单位,容器的左下角被定为坐标的起点。
( ) 5.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
( F) 6.Final类中的属性和方法都必须被final修饰符修饰。
( )7.最终类不能派生子类,最终方法不能被覆盖。
(T )8.子类要调用父类的方法,必须使用super关键字。
( )9.一个Java类可以有多个父类。
( cuo)10.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p 是正确的。
( )11.一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。
(cuo )12.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。
( )13.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。
(f )14.用“+”可以实现字符串的拼接,用- 可以从一个字符串中去除一个字符子串。
( f)15.一个容器中可以混合使用多种布局策略。
( )16.一个线程对象的具体操作是由run()方法的内容确定的,但是Thread 类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread 的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。
( )17.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
( )18.Java Applet是由独立的解释器程序来运行的。
( )19.Java Applet只能在图形界面下工作。
( )20.Java的字符类型采用的是ASCII编码。
(cuo )21.Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。
( )22.容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。
( )23、Java是不区分大小写的语言。
( F)24、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
(T )25、Java Application是由独立的解释器程序来运行的。
( )26、Java Applet的字节码文件必须嵌入HTML的文件中并由负责解释HTML 文件的WWW浏览器充当解释器来解释运行。
( )27、Java Application只能在字符界面下工作。
( )28、Java的字符类型采用的是Unicode编码,每个Unicode码占16个比特。
( )29、Java源程序是由类定义组成的,每个程序可以定义若干个类,但只有一个类是主类。
(T )30、子类的域和方法的数目一定大于等于父类的域和方法的数目。
( )31、类在实现接口的方法时,必须显示地使用public修饰符。
( )32、一个类只能有一个父类,但一个接口可以有一个以上的父接口。
(F )33、程序中抛出异常时(throw …),只能抛出自己定义的异常对象。
( )34、System类中的in是一个输入对象。
( )35、实现一个接口,则在类中一定要实现接口中的所有方法。
( )36、所有的文件输入/输出流都继承于InputStream类/OutputStream类。
( )37、一个异常处理中 finally语句块只能有一个或者可以没有。
(F )38、语句import java.applet.Applet;最后的Applet是代表类(class)。
( )39、类体中private修饰的变量在本类中能访问,类生成的对象也能访问。
( )40、线程使用sleep()方法休眠后,可以用notify()方法唤醒。
( )41、一个异常处理中 finally语句块只能有一个或者可以没有。
( )42、用Javac编译Java源文件后得到代码叫字节码。
(T )43、数组、类和接口都是引用数据类型。
( )44、一个Applet编译后的类名是Test.class,运行此小程序的命令是Java Test。
( )45、Java语言中一个Char类型的数据占用2个字节大小的内存空间。
( )46、编译语句Double aDouble=37.2D不会出现编译错误。
(f )47、编译语句int aInt=66666不会出现编译错误。
(t )48、判断下面说法的正误:if(true){int i=17;}System.out.println(i);运行此程序的结果是输出17。
(f )49、float x=26f; int y=26; int z=x/y; 以上语句能正常编译和运行。
( f)50、判断下面说法的正误:int x=9; if(x>8 and x<10) System.out.println("true"); 以上语句运行的结果是显示true。
(f )51、判断下面说法的正误:String str; System.out.println(str.length()); 以上语句运行的结果是显示0 。
( )52、抽象类不能实例化。
( )53、一个方法最多能有一个return语句。
( f)54、接口名可以作为方法返回值的类型。
( )55、类A和类B位于同一个包中,则除了私有成员,类A可以访问类B的所有其他成员。
( )二、选择题1.编译Java Applet 源程序文件产生的字节码文件的扩展名为( )。
A、javaB、classC、htmlD、exe2.main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( b )?A、public static void main()B、public static void main( String args[] )C、public static int main(String [] arg )D、public void main(String arg[] )3.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( a )。
A、static void method( )B、public void method( )C、final void method( )D、abstract void method( ) 4.下列哪个是合法的Java标识符?()A、Tree&GlassesB、FirstJavaAppletC、_$theLastOneD、273.55.Java Application源程序的主类是指包含有( a )方法的类。
A、main方法B、toString方法C、init方法D、actionPerfromed方法6.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( a )个比特位。
A、8B、16C、32D、647.设 a = 8,则表达式 a >>> 2 的值是( )。
A、1B、2C、3D、48.若a的值为3时,下列程序段被执行后,c的值是多少?( c )c = 1;if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4;A、1B、2C、3D、49.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( c )语句。
A、import java.awt.* ;B、import java.applet.Applet ;C、import java.io.* ;D、import java.awt.Graphics ; 10.对于构造函数,下列叙述正确的是()。
A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
B、构造函数的返回类型只能是void型。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
11.下面的是关于类及其修饰符的一些描述,正确的是:()。
A、abstract类只能用来派生子类,不能用来创建abstract类的对象。
B、final类不但可以用来派生子类,也可以用来创建final类的对象。
C、abstract不能与final同时修饰一个类。
D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。
12.若需要定义一个类域或类方法,应使用哪种修饰符?()A、staticB、packageC、privateD、public 13.若在某一个类定义中定义有如下的方法:abstract void performDial( );该方法属于()。
A、本地方法B、最终方法C、解态方法D、抽象方法14.下列关于静态初始化器的叙述中,哪一个是正确的?()A、静态初始化器是在构造函数之前加上static修饰符。
B、静态初始化器是对类自身进行初始化。
C、静态初始化器在同一个类中只能有一个。