class Base
{
public final static int i = 2;
public Base()
{
this.display();
}
public void display()
{
System.out.println("base i"+i);
}
}class Derived extends Base
{
private int i = 22;
public Derived()
{
i = 222;
}
public void display()
{
System.out.println("derived i:"+i);
}
}public class Test
{
public static void main(String [] args)
{
new Derived();
}
}
输出为什么是derived i:0,为什么执行的是子类的display方法,i为什么是0 呢,解释一下执行顺序吧?
{
public final static int i = 2;
public Base()
{
this.display();
}
public void display()
{
System.out.println("base i"+i);
}
}class Derived extends Base
{
private int i = 22;
public Derived()
{
i = 222;
}
public void display()
{
System.out.println("derived i:"+i);
}
}public class Test
{
public static void main(String [] args)
{
new Derived();
}
}
输出为什么是derived i:0,为什么执行的是子类的display方法,i为什么是0 呢,解释一下执行顺序吧?
解决方案 »
- 阅读《Java核心开发技术从入门到精通》时,遇到的问题:这个语句是什么意思…
- 经常更新且数据量较大的数据要怎么处理?
- 字符串截取问题
- 请问有没有对猫游记熟悉的?想请问下里面大概用到了什么技术!谢谢
- 急急急 用正则表达式怎么验证 6为数字和字母的混合&&6位数字和字母的混合呢?&&两边都必须是字母和数字的混合
- 关于流生成图片的问题,急~~
- 一个服务返回一个ArrayList,如何使用Axis序列化/反序列化把它封装到一个Soap中去,以便可以在网上传送!
- 一个绘图程序,大家提提意见
- 问一个类的声明周期的问题,求解答!
- 一个JAVA的package问题
- 关于泛型和反射的一个问题
- 请问这个排序的小程序错在什么地方
class Base { public final static int i;
static{
i = 2;
System.out.println("Base static");
} public Base() {
System.out.println("Base 构造方法");
this.display();
} public void display() {
System.out.println("base i" + i);
}
}class Derived extends Base {
private int i;
{
i = 22;
System.out.println("Derived");
} public Derived() {
System.out.println("Derived 构造方法");
i = 222;
} public void display() {
System.out.println("derived i:" + i);
}
}public class Test {
public static void main(String[] args) {
new Derived();
}
}
输出结果为
Base static
Base 构造方法
derived i:0
Derived
Derived 构造方法