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);
}
}
static在编译期间就进行赋值,jvm分为:堆,栈,静态域,常量区!!静态域存储static变量,在编译期间已经注定了x的值就是5
4.
5.
(11)类Test1、Test2定义如下:
1.publicclassTest1
2.{publicfloataMethod(floata,floatb)throws
3.IOException{}
4.}
5.publicclassTest2extendsTest1{
6.
7.}
将以下哪种方法插入行6是不合法的。()
A、floataMethod(floata,floatb){}
B、publicintaMethod(inta,intb)throwsException{}
C、publicfloataMethod(floatp,floatq){}
D、publicintaMethod(inta,intb)throwsIOException{}
解析:A相当于自己定义的新方法
BD都是属于正常的继承
这个程序的运行结果是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,所以从什么类中去访问,就是哪个类中的方法被绑定。所以就输出了父类的方法