下面这段程序为什么要这样实现啊?
关于继承class A--------------------编程问答-------------------- 你怎么不把所有的代码都直接写在类里 --------------------编程问答-------------------- 类中只能声明变量,不能执行语句。
{
private int i;
protected int j;
public int m;
private void f()
{
}
protected void g()
{
}
public void h()
{
}
}
class B extends A
{
//j = 2; // 为什么不能这样写? 为什么直接j = 2 时,出现错误了?这是什么原因啊?
private void f() // 难道必须写个方法来对其作用吗?
{
j = 2;
}
}
class M
{
public static void main (String[] args)
{
}
}
j = 2; 相当于放了一条赋值语句在那,执行语句只能放在函数或代码块中。
你在j = 2; 外面加个大括号也是可以的。{j = 2; } --------------------编程问答-------------------- 语句不能直接写在类下面。 --------------------编程问答-------------------- 这不是继承的问题,j=2是赋值语句,不能写在类 --------------------编程问答-------------------- B类中f()方法使用的是继承A类中的int j;
在方法外
int j=2;就可以但就不是继承A类的变量j了 --------------------编程问答-------------------- 这个没有什么为什么, JAVA的语法规范.
补充:Java , Java SE