类中的数据域使用private修饰为私有变量,所以任何方法均不能访问它。
错误
解析:
1、本类的方法可以访问
2、反射也可以访问
下面关于依赖注入(DI)的说法不正确的是()
只有通过Spring才能实现依赖注入(DI)
解析:依赖注入是一种思想,或者说是一种设计模式,在java中是通过反射机制实现,与具体框架无关。
Java的跨平台特性是指它的源代码可以在多个平台运行。()
错误
解析:Java的跨平台特性是因为JVM的存在, 它可以执行.class字节码文件,而不是.java源代码
以下java程序代码,执行后的结果是()
public class Test {
public static void main(String[] args) {
Object o = new Object() {
public boolean equals(Object obj) {
return true;
}
};
System.out.println(o.equals("Fred"));
}
}
true
解析:重写了object 的equals 的方法,使他怎么输出都是tue
以下代码执行后输出结果为( )
public class Test {
public static void main(String[] args) {
System.out.println("return value of getValue(): " +
getValue());
}
public static int getValue() {
try {
return 0;
} finally {
return 1;
}
}
}
return value of getValue(): 1
解析:
根据官方的JVM规范:
如果try语句里有return,返回的是try语句块中变量值。
详细执行过程如下:
- 如果有返回值,就把返回值保存到局部变量中;
- 执行jsr指令跳到finally语句里执行;
- 执行完finally语句后,返回之前保存在局部变量表里的值。
如果try,finally语句里均有return,忽略try的return,而使用finally的return.
以下哪些继承自 Collection 接口()
List、Set
解析:
下列可作为java语言标识符的是()
解析:
1、访问修饰符
default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
public : 对所有类可见。使用对象:类、接口、变量、方法
protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。
2、非访问修饰符,包括但不限于:
static 修饰符,用来修饰类方法和类变量。
final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
abstract 修饰符,用来创建抽象类和抽象方法。
synchronized 和 volatile 修饰符,主要用于线程的编程。
标识符: Java标识符由数字,字母和下划线(_),美元符号($)或人民币符号(¥)组成。在Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。
在使用super和this关键字时,以下描述错误的是()
super()和this()不一定要放在构造方法内第一行
this()和super()可以同时出现在一个构造函数中
this()和super()可以在static环境中使用,包括static方法和static语句块
解析:
1、super()表示调用父类构造函数、this()调用自己的构造函数,而自己的构造函数第一行要使用super()调用父类的构造函数,所以这俩不能在一个构造函数中会出现重复引用的情况
2、super()和this()必须在构造函数第一行,所以这一点也表明他俩不能在一个构造函数中
3、this()和super()都指的是对象,所以,均不可以在static环境中使用。包括:static变量,static方法,static语句块(里面不能使用非static类型的)。