类的基本概念
以下关于构造函数的描述错误的是( )?
A.构造函数的返回类型只能是void型
错误,构造函数没有返回值类型
B.构造函数是类的一种特殊函数,它的方法名必须与类名相同
C.构造函数的主要作用是完成对类的对象的初始化工作
D.一般在创建新对象时,系统会自动调用构造函数
选项中哪一行代码可以替换题目中//add code here而不产生编译错误?( )
public abstract class MyClass {
public int constInt = 5;
//add code here
public void method() { }
}
A.public abstract void method(int a);
B.value = value + 5;
C.public int method();
D.public abstract void anotherMethod() {}
abstract的意思为抽象,所以MyClass属于抽象类。
A选项可以加入,与后面的method构成重载,参数不同,前者是没有参数,抽象方法,后者是空参数,具体方法。
B选项value没有定义。
C选项的语句与后面public void method()冲突,参数都是空参,返回值不一样。
D选项抽象方法不能有方法体,即有参数{}。
定义字符串:String s1=“hello”;对下面程序描述正确的是()。
if(s1=="hello"){
System.out.println("s1 = "hello"");
}else{
System.out.println("s1 !=hello");
}
A.输出 s1 !=hello
B.编译正确,运行错误
C.产生编译错误
D.输出 s1=“hello”
类中某方法定义如下:
double fun(int a,int b){
return a*1.0/b;
}
同一类内其它方法调用该方法的正确方式是( )。
A.double a = fun(1,2)
B.double a = fun(1.0,2.0)
C.int x = fun(1,2)
D.int x = fun(1.0,2.0)
以下哪句是错误的?
A.编译器会搜索要import的类的编译结果文件而不是源文件
B.import是告诉编译器要import的包的信息
C.import是把要import的类的源代码插入到import语句所在的地方
D.编译器在编译的时候需要能访问得到要import的类的编译结果文件
A选项编译器在编译时会查找已编译的
.class
文件(编译结果文件),而不是.java
源文件。B选项
import
语句的作用是告诉编译器去哪里找类(即包的信息)。C选项
import
不会将类的源代码插入当前文件,它只是让编译器知道类的完整路径,实际编译时仍然需要.class
文件。编译器在编译时需要能访问到
import
的类的.class
文件
有一个类A,以下为其构造方法的声明,其中正确的是()。
A.void A(int x){…}
B.A(int x){…}
C.a(int x){…}
D.void a(int x){…}
构造方法没有返回值,构造方法名称一般首字母大写。
一个*.java文件中可以包含多少个public类?
A.最多1个
B.最少1个
C.只能是0个
D.不限制
一个
.java
文件最多只能有 1 个public
类文件名必须与
public
类的类名完全一致(包括大小写)。例如,如果有一个
public class MyClass
,那么文件名必须是MyClass.java
。
对于构造方法,下列叙述不正确的是( )。
A.构造方法是类的一种特殊方法,它的方法名必须与类名相同
B.构造方法的返回类型只能是void型,即在方法名前加void
构造方法没有返回值
C.构造方法的主要作用是完成对类的对象的初始化工作
D.一般在创建新对象时,系统会自动调用构造方法
在下面类的定义中,填出空缺的内容 :
public class Person {
String name ;
int age ;
public _________ toString( ) {
return ( name+" "+age );
}
}
A.void
B.String
C.int
D.char
类ABC定义如下:
1.public class ABC{
2. public int max( int a, int b) { }
3.
4.}
将以下哪个方法插入行3是不合法的。( )
A.public float max(float a, float b, float c){ }
B.public int max(int c, int d){ }
方法重载(Overload)规则:
- 方法名相同,但参数列表不同(参数类型、个数或顺序不同)。
- 返回类型可以不同,但不能仅靠返回类型区分(否则编译错误)。
- 访问修饰符可以不同(如
public
/private
不影响重载)。
C.public float max(float a, float b){ }
D.private int max(int a, int b, int c){ }
JVM(Java Virtual Machine)的功能是?
A.跨平台编译Java程序。
B.跨平台运行Java程序。
Java 虚拟机
C.跨平台调试Java程序。
D.跨平台编写Java程序。
在Java中,下列选项中,用于引入包的关键字是?
A.class
B.import
C.package
D.static
在Java中,下列关于常量的说法错误的是?
A.常量的值被赋值后,在程序运行过程中不允许再改变。
B.必须用final关键字修饰
C.Java规范中常量名一般大写
D.常量只允许被赋值一次
常量只能被初始化一次,初始化之后不能赋值
Java中有一个类A,以下为其构造方法的声明,其中正确的是?
A.void A(int x){…}
B.A(int x){…}
C.a(int x){…}
D.void a(int x){…}
在Java中为类A的一个无参数无返回值的方法method书写方法头,使得使用类名A作为前缀就可以调用
它,该方法头的形式应该为?
A.static void method( )
B.public void method( )
C.final void method( )
D.abstract void method( )
static修饰静态方法(类方法),不用实例化对象就可以调用。
在Java中,设 m、n、h 为类 Test 中定义的 int 型变量名,下列类 Test 的构造方法中不正确的是?
A.Test( int m){ … }
B.void Test( int m){ … }
C.Test( int m,int n){ … }
D.Test( int m,int n,int h){ … }
Java语言中,下列说法哪个正确?
A.Java中不需要定义类,就能设计主程序
B.每个对象中必须有属性和方法
C.对象的属性可以是简单变量,也可以是一个对象
D.对象的属性必须是简单变量
以下关于面向对象设计的叙述中,错误的是( )。
A.类的属性用于封装数据,类的方法用于封装行为。
B.面向对象设计的基本思想包括抽象、封装和可扩展性。
C.对象继承和多态可用来实现可扩展性。
D.对象持久化是指将数据库中的数据加载到内存中供应用程序访问。
对象持久化(Object Persistence) 的真正含义是:
- 将内存中的对象存储到持久化介质(如数据库、文件)中,以便程序重启后能恢复状态。
- 反过程(从数据库加载到内存)称为反序列化或数据加载,但持久化本身强调的是 存储,而非加载。
以下哪个选项不是Java语言的特性?
A.支持多线程
B.平台无关性
C.编译器会将源代码直接编译成机器语言
D.面向对象
以下代码的输出结果为( )。
public class Pass{
static int j = 20;
public void amethod(int x){
x = x*2;
j = j*2;
}
public static void main(String args[]){
int i = 10;
Pass p = new Pass();
p.amethod(i);
System.out.println(i+" and "+j);
}
}
A.错误:方法参数与变量不匹配
B.20 and 40
C.10 and 40
D.10 and 20
由于
j
是静态的,修改后全局生效