以下关于构造函数的描述错误的是 ( )
A、每个类有且只能有一个构造函数。
B、构造函数是类的一种特殊函数,它的方法名必须与类名相同
C、构造函数的主要作用是完成对类的对象的初始化工作
D、一般在创建新对象时,系统会自动调用构造函数
解析
构造函数是一种特殊的函数,它必须与类同名,而且默认每个类都带有一个无参的构造函数,此外还可以根据我们的需要自定义多个构造函数,而构造函数的功能主要用于构建对象并初始化。
参考答案
A
假设 A 类有如下定义,设 a 是 A 类同一个包下的一个实例,下列语句调用哪个是错误的?()
class A{
int i;
static String s;
void method1() { }
static void method2() { }
}
A、System.out.println(a.i);
B、a.method1();
C、A.method1();
D、A.method2();
解析
在 Java 中,非静态方法只能是通过类的实例对象来调用,但不能直接通过类名调用。但静态(static
)方法既可以通过实例对象来调用,也可以通过类名调用,当然,为了避免不必要的麻烦,我们一般都是推荐直接使用类名来调用。
参考答案
C
下列类定义中哪些是合法的抽象类的定义?()
A、abstract Animal{abstract void growl();}
B、class abstract Animal{abstract void growl();}
C、abstract class Animal{abstract void growl();}
D、abstract class Animal{abstract void growl(){System.out.println( “growl”);};}
解析
无论是抽象类还是其他类,关键字 class
都必须在类名之前,而修饰符都应该在 class
之前。
另一方面,对于抽象类中的抽象方法,是不能有方法体的。
参考答案
C
以下 J2EE 中常用的名词解释错误的是?
A、EJB 容器:Enterprise Java bean 容器
B、JNDI:Java 事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接口即可。
C、JMS:Java 消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。
D、JAF:Java 安全认证框架。提供一些安全控制方面的框架。
解析
EJB 容器:Enterprise Java bean 容器。更具有行业领域特色。他提供给运行在其中的组件 EJB 各种管理功能。只要满足J2EE 规范的 EJB 放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。
JNDI:(Java Naming & Directory Interface)Java 命名目录服务。主要功能:提供一个目录系,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。
JMS:(Java Message Service)Java 消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。
JAF:(Java Action FrameWork)Java 安全认证框架。提供一些安全控制方面的框架。让开发者通过各种部署和自定义实现自己的个性安全控制策略。
参考答案
B
以下哪个区域不属于新生代?
A、eden 区
B、from 区
C、元数据区
D、to 区
解析
堆是 JVM 中最大的一块内存,主要用于存放各种类的实例对象,一般被划分为新生代(Young)和老年代(Old)。其中新生代又分为三个区域:Eden、From Survivor、To Survivor,三者所占大小比例为 Eden : From : To = 8 : 1 : 1。
参考答案
C
一个文件中的数据要在控制台上显示,首先需要( )。
A、System.out.print (buffer[i]);
B、FileOutputStream fout = new FileOutputStream(this.filename);
C、FileInputStream fin = new FileInputStream(this.filename);
D、System.in.read(buffer);
解析
InputStream
是 Java 标准库所提供的最基本的输入流,是所有输入流的超类,如果我们要从文件中读取相应数据,则应该使用 FileInputStream
。
OutputStream
是 Java 标准库所提供的最基本的输出流,是所有输出流的超类,如果我们要将若干个字节写入文件流,我们则需要使用 FileOutputStream
。
参考答案
C
下面对静态数据成员的描述中,正确的是
A、静态数据成员可以在类体内进行初始化
B、静态数据成员不可以被类的对象调用
C、静态数据成员不受 private
控制符的作用
D、静态数据成员可以直接用类名调用
解析
静态属性仅可以被静态方法调用,但只能被本类中的方法(可以是非静态)调用,在外部类中创建该类的对象或直接使用该类访问都是非法的。此外,静态属性也可以用 private
所修饰。
参考答案
A
下列在 Java 语言中关于数据类型和包装类的说法,正确的是()
A、基本(简单)数据类型是包装类的简写形式,可以用包装类替代基本(简单)数据类型
B、long
和 double
都占了64 位(64bit)的存储空间。
C、默认的整数数据类型是 int
,默认的浮点数据类型是 float
。
D、和包装类一样,基本(简单)数据类型声明的变量中也具有静态方法,用来完成进制转化等。
解析
基本数据类型:byte、short、char、int、long、float、double、boolean
。
对应的包装类:Byte、Short、Character、Integer、Long、Float、Double、Boolean
。
默认整数数据类型均为 int
,而浮点数默认为 double
。
基本数据类型没有任何方法,但其对应的包装类有。
参考答案
B
下面代码的运行结果是( )
public class Arraytest
{
int a[] = new int[6];
public static void main ( String arg[] ) {
System.out.println ( a[0] );
}
}
解析
a
是一个非静态属性,main
是一个静态方法,而静态方法中是无法访问非静态属性的,所以如果要在静态方法中访问非静态属性,必须将非静态属性声明为静态属性,否则将会导致编译错误。
参考答案
C
给出下面的代码段:
public class Base{
int w, x, y ,z;
public Base(int a,int b)
{
x=a;
y=b;
}
public Base(int a, int b, int c, int d)
{
// assignment x=a, y=b
w=d;
z=c;
}
}
在代码说明 // assignment x = a, y = b
处写入如下哪几个代码是正确的?()
A、Base(a,b);
B、x=a, y=b;
C、x=a; y=b;
D、this(a,b);
解析
对于 A,如果我们要调用构造方法,则应该这样 new Base(a, b)
。
对于 B,语法错误,不能使用 ,
。
对于 C,正确,即赋值操作。
对于 D,this
关键字表示调用本类的构造方法,所以效果和 C 一样。
参考答案
C、D
总结
以上所有题目整理自牛客网,如果对你有所帮助,那就一键三连吧!感谢 ~