【295天】我爱刷题系列054(2017.11.27)

叨叨两句

  1. 有些困,有些难,诶诶~hoho~ o(^@^)o

牛客网——java专项练习034

1

关于static说法不正确的是( )html

正确答案: Djava

  1. 能够直接用类名来访问类中静态方法(public权限)
  2. 静态块仅在类加载时执行一次
  3. static方法就是没有this的方法
  4. 不能够用对象名来访问类中的静态方法(public权限)
C选项稍微有点歧义,只要明白static里不能用this便可。 可是不影响D选项的错误

2

class Foo {浏览器

final int i;
int j;
public void doSomething() {
    System.out.println(++j + i);
}

}
的输出是?
正确答案: Dsession

  1. 0
  2. 1
  3. 2
  4. 不能执行,由于编译有错
楼上都不太准确

final做为对象成员存在时,必须初始化;可是,若是不初始化,也能够在类的构造函数中初始

由于java容许将数据成员声明为final,却不赋初值。可是,blank finals必须在使用以前初始化,且必须在构造函数中初始化

3

Web程序中,当前用户上下文信息应该保存在下面哪一个对象中()app

正确答案: C函数

  1. page
  2. request
  3. session
  4. Application
JSP 四大做用域: page (做用范围最小)、request、session、application(做用范围最大)。
存储在application对象中的属性能够被同一个WEB应用程序中的全部Servlet和JSP页面访问。(属性做用范围最大)
存储在session对象中的属性能够被属于同一个会话(浏览器打开直到关闭称为一次会话,且在此期间会话不失效)的全部Servlet和JSP页面访问。
存储在request对象中的属性能够被属于同一个请求的全部Servlet和JSP页面访问(在有转发的状况下能够跨页面获取属性值),例如使用PageContext.forward和PageContext.include方法链接起来的多个Servlet和JSP页面。
存储在pageContext对象中的属性仅能够被当前JSP页面的当前响应过程当中调用的各个组件访问,例如,正在响应当前请求的JSP页面和它调用的各个自定义标签类。

4

以下代码,执行test()函数后,屏幕打印结果为()this

public class Test2
{.net

public void add(Byte b)
{
    b = b++;
}
public void test()
{
    Byte a = 127;
    Byte b = 127;
    add(++a);
    System.out.print(a + " ");
    add(b);
    System.out.print(b + "");
}

}code

正确答案: Dhtm

  1. 127 127
  2. 128 127
  3. 129 128
  4. 以上都不对
该题的详细分析可参见博客:http://www.cnblogs.com/nailperry/p/4780354.html
这里简单说明两点:
1.b = b++;这一操做并未改变b的值,缘由详见http://blog.csdn.net/lm2302293/article/details/6713147;
2.++a先是触发拆箱操做Byte.byteValue,获得基本类型的值127,而后执行+1操做,使得值变为-128,最后触发装箱操做Byte.valueOf将value=-128的Byte对象赋值给a。
正数的补码就是它的原码,而负数的补码是将其原码(取绝对值后的原码)取反加1获得的。
http://blog.csdn.net/u011601165/article/details/51658910

5

java8中,忽略内部接口的状况,不能用来修饰interface里的方法的有( )
正确答案: A C

  1. private
  2. public
  3. protected
  4. static
Jdk1.8支持接口内部实现静态方法,并且能够有方法体具体实现。答案要与时俱进啊,或者标明题目的jdk版本,省得误解