itat的预赛

1.

int  j=3;

while(j)

   {  System.out.println(“ j  is “+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的预赛_第1张图片

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

4.

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

  (11)类Test1Test2定义如下:

  1public classTest1

  2{ publicfloataMethodfloat afloat b) throws

  3IOException {}

  4.    }

  5.    publicclassTest2extendsTest1{

  6

  7}

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

  AfloataMethodfloatafloatb{ }

  BpublicintaMethodint aint bthrowsException{ }

  CpublicfloataMethodfloatpfloat q{ }

  DpublicintaMethodint aintbthrows IOException{ }

解析:
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,所以从什么类中去访问,就是哪个类中的方法被绑定。所以就输出了父类的方法


你可能感兴趣的:(jvm,c,String,存储,Class,byte)