麻烦高手帮忙看一下
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");
}
}
这样应该可以,放在语句块中,会在默认构造函数中被调用。 --------------------编程问答--------------------
初始化块是在构造函数调用之前执行的,不是在构造函数之中 --------------------编程问答-------------------- 要调用父类的构造函数 --------------------编程问答-------------------- class C extends B {
{
System.out.println("s2");
}
}
或者
class C extends B {
public C(){
System.out.println("s2");
}
}
语句只能写在代码块,或方法中 --------------------编程问答-------------------- 执行语句要写在方法中 --------------------编程问答-------------------- 要写入方法啊 你没有方法啊 --------------------编程问答-------------------- 或者 构造块 --------------------编程问答-------------------- 应该要在方法体中写吧 --------------------编程问答-------------------- 这个 如果加个大括号就是代码块了,创建对象的时候执行,如果再加上static就是静态代码块,在加载类的时候执行(只执行一次了) --------------------编程问答-------------------- 方法里面写。。。。。。
。。。。。。 --------------------编程问答-------------------- 执行语句貌似要写在方法里面的哦
补充:Java , Java SE