当前位置:编程学习 > JAVA >>

麻烦高手帮忙看一下

1.class B {
2. public B() {
3. System.out.println("s1");
4. }
5.}
6.class C extends B {
7. System.out.println("s2");
}
public class A {
public static void main(String[] args) {
new C();
}
}

第7行为什么编译错误, --------------------编程问答--------------------
6.class C extends B {
7.  System.out.println("s2");
}

第7行,你的语法不对。System.out.println("s2"); 应该写在方法之内。
public void test(){
    System.out.println("s2");
} --------------------编程问答-------------------- 我还以为能直接输出呢,谢谢你了! --------------------编程问答-------------------- class C extends B {
  {
    System.out.println("s2");
  }
}

这样应该可以,放在语句块中,会在默认构造函数中被调用。 --------------------编程问答--------------------
引用 3 楼 rumlee 的回复:
class C extends B {
  {
    System.out.println("s2");
  }
}

这样应该可以,放在语句块中,会在默认构造函数中被调用。

初始化块是在构造函数调用之前执行的,不是在构造函数之中 --------------------编程问答-------------------- 要调用父类的构造函数 --------------------编程问答-------------------- class C extends B {
  {
    System.out.println("s2");
  }
}
或者
class C extends B {
   public C(){
      System.out.println("s2");
  }
}

语句只能写在代码块,或方法中 --------------------编程问答-------------------- 执行语句要写在方法中 --------------------编程问答-------------------- 要写入方法啊  你没有方法啊 --------------------编程问答-------------------- 或者 构造块 --------------------编程问答-------------------- 应该要在方法体中写吧 --------------------编程问答-------------------- 这个 如果加个大括号就是代码块了,创建对象的时候执行,如果再加上static就是静态代码块,在加载类的时候执行(只执行一次了) --------------------编程问答-------------------- 方法里面写。。。。。。
。。。。。。 --------------------编程问答-------------------- 执行语句貌似要写在方法里面的哦
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,