2019年10月29日_java_4
考点1 java main方法
在Java中,main()方法的返回值的类型是:
- A public
- B static
- C void
- D String
展开/折叠
正确答案: C解析
main方法的格式讲解:
1 | public static void main(String[] args) {...} |
- public:公共的,访问权限是最大的。由于main方法是被jvm调用,所以权限要够大。
- static:静态的,不需要创建对象,通过类名就可以。方便jvm的调用。
- void:方法的返回值是返回给调用者,而main方法是被jvm调用。你返回内容给jvm没有意义。
- main:是一个常见的方法入口。我见过的语言都是以main作为入口。
- String[] args:这是一个字符串数组。这个东西早期是为了接收键盘录入的数据的。
考点2 多线程 同一个对象作为锁的情况
执行如下程序,输出结果是( )
1 | class Test |
- A 0 22 44 6
- B 2 42 42 4
- C 2 24 46 6
- D 4 44 46 6
展开/折叠
正确答案: C解析
只要注意这里锁住的是对象就可以了
这里只创建了一个对象Test mv = new Test();
如果换成synchronized(Test.class)锁住的就是这个类,执行的结果就不一样了
这里是同一个对象锁 所以一个线程执行完另一个线程才能访问
三个线程传输的是同一个mv,而且加了同步锁synchronized(mv),所以执行的时候按照顺序执行即可
考点3 访问修饰符
下列哪个对访问修饰符作用范围由大到小排列是正确的?
- A private>default>protected>public
- B public>default>protected>private
- C private>protected>default>public
- D public>protected>default>private
展开/折叠
正确答案: D解析
考点4 访问修饰符
下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的( )
- A public
- B private
- C static
- D final
展开/折叠
正确答案: C解析
考点5 包装类之间的比较
1 | Integer i = 42; |
下面为true的是
- A (i == l)
- B (i == d)
- C (l == d)
- D i.equals(d)
- E d.equals(l)
- F i.equals(l)
- G l.equals(42L)
展开/折叠
正确答案: G解析
考点6 for循环语句
设m和都是int类型,那么以下for循环语句的执行情况是( )
1 | for (m = 0, n = -1; n = 0; m++, n++) |
- A 循环体一次也不执行 循环体执行一次 是无限循环 有限次循环 循环结束判断条件不合法 运行出错
- B 循环体执行一次 是无限循环
- C 有限次循环
- D 循环结束判断条件不合法
展开/折叠
正确答案: D解析
循环条件:n = 0
是int类型,不是boolean型的。
所以语法错误
1 | for(初始化语句;判断条件语句;控制条件语句){ |
考点7 String 常量池
String s = new String("xyz");
创建了几个StringObject?
- A 两个或一个都有可能
- B 两个
- C 一个
- D 三个
展开/折叠
正确答案: A解析
- 如果在常量池中已经存在“xyz”,那么只创建一个new String(“xyz”)的对象。
- 如果常量池中没有“xyz”,则会创建两个对象,一个是常量池中的对象“xyz”,一个是new String(“xyz”)的对象。
考点8 Object类方法
java中下面哪些是Object类的方法()
- A notify()
- B notifyAll()
- C sleep()
- D wait()
展开/折叠
正确答案: ABD解析
考点9 Java继承
java中关于继承的描述正确的是()
- A 一个子类只能继承一个父类
- B 子类可以继承父类的构造方法
- C 继承具有传递性
- D 父类一般具有通用性,子类更具体
展开/折叠
正确答案: ACD解析
子类不可以继承父类的构造方法,只可以调用父类的构造方法。