返回信息流更新:
我已经都跑过知道结果了,但和我预判的有出入,之所以这么问是想让其他人也跑一下看看结果不要想当然了。
第一问楼里面还有人答错的。
我也只是从侧面上想让其他人重视这些细节问题。
哎,好了不多说了,我自己看书去了,还有很多要补得呢。
---------------------------------------------------------------------------------------------
直接上代码:
1.
InitTest.java
public class InitTest {
static A a = new A();
B b = new B();
public static void main(String args[]){
new InitTest();
}
InitTest(){
System.out.println("喵喵喵!!! Init");
new C();
}
class B{
B(){
System.out.println("喵喵喵!!! B");
}
}
class C{
C(){
System.out.println("喵喵喵!!! C");
}
}
}
A.java
public class A {
A(){
System.out.println("喵喵喵!!! A");
}
}
问题:
打印顺序是什么?为什么?
2.
public class CallBackTest {
interface CallBack {
void doSth();
}
public static void main(String args[]) {
class TestCallback {
CallBack myCallback;
TestCallback(CallBack callBack) {
myCallback = callBack;
}
void doNotify() {
myCallback.doSth();
}
}
TestCallback myTestCallback = null;
try {
myTestCallback = new TestCallback(new CallBack() {
@Override
public void doSth() {
throw new NullPointerException();
}
});
} catch (Exception e) {
System.out.println("喵喵喵!!!");
}
myTestCallback.doNotify();
}
问题:
喵喵喵会不会被打印出来?为什么?
(欸,另外我想知道为什么方法里面不能定义接口,但却能定义类0.0
求解释得详细一些,我比较笨、、、QvQ
这是一条镜像帖。来源:北邮人论坛 / java / #46611同步于 2015/12/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
弱弱的问几个java入门问题QvQ
ytinrete
2015/12/25镜像同步27 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
额 应该是 a b init c吧
类加载进去的时候还没有实例化的时候就有静态变量了 a就喵喵喵了
然后类实例化,调用构造函数,给里面的属性赋值,b就喵喵喵了
然后他自己的init 喵喵喵
然后下一句的c 喵喵喵