itat的预赛

1.

intj=3;

while(j)

{System.out.println(“jis“+j);

}

2.

Character流与Byte流的区别是前者是块读写,后者是字节读写

3.

public class StaticStuff {
static int x = 10;
static {
x += 5;
System.out.println("static x += 5, x = " + x);
}

public static void main(String args[]) {
System.out.println("in main");
System.out.println("x=" + x);
}

static {
x /= 3;
System.out.println("static x /= 3, x = " + x);
}
}

itat的预赛

static在编译期间就进行赋值,jvm分为:堆,栈,静态域,常量区!!静态域存储static变量,在编译期间已经注定了x的值就是5

4.

char,byte,short这三个基本类型在处理的时候都会转换为int来处理啊
5.

  (11)类Test1Test2定义如下:

  1publicclassTest1

  2{publicfloataMethodfloatafloatbthrows

  3IOException{}

  4}

  5publicclassTest2extendsTest1{

  6

  7}

  将以下哪种方法插入行6是不合法的。()

  AfloataMethodfloatafloatb{}

  BpublicintaMethodintaintbthrowsException{}

  CpublicfloataMethodfloatpfloatq{}

  DpublicintaMethodintaintbthrowsIOException{}

解析:
C是想继承父类的方法,但是必须要抛异常才得行(就是说,Test2要像继承Test1里面的这个方法就必须要跑出异常,而且异常范围必须必父类的大)
A相当于自己定义的新方法
BD都是属于正常的继承
6.
  
  
package com.simple.second; class First{ public First(){ aMethod(); } public void aMethod(){ System.out.println( " First " ); } } public class Second extends First{ public void aMethod(){ System.out.println( " second " ); } public static void main(String args[]){ new Second(); } }

这个程序的运行结果是second
Java code
   
   
package com.simple.second; class First{ public First(){ aMethod(); } public static void aMethod(){ System.out.println( " First " ); } } public class Second extends First{ public static void aMethod(){ System.out.println( " second " ); } public static void main(String args[]){ new Second(); } }

这个程序的运行结果是first
这样就因为在继承的时候,如过没有定义无参的,对自动调用父类的无参构造方法,但是有了以后,就比如上面的例子,就会调用父类的构造方法,然后调用他成员方法,但是因为非静态的在编译的过程不能编译,没有往下执行,找不到父类的成员方法,就调用了本身的成员方法,但是如果是静态的以后再在编译的时候就已经有的成员方法,同时static静态方法不override,所以从什么类中去访问,就是哪个类中的方法被绑定。所以就输出了父类的方法


你可能感兴趣的:(it)