2 x     t X_____T 于 2014.08.28 20:16 提问

java 父类初始化属性,并在子类调用

class A{
public Object obj = null;

//这个构造函数会在系统开始初始化
public A(Object _obj){
this.obj = _obj.get();
}

}

class B extends A{
//我想在B类里边直接用 A里边的 obj 该怎么做?

}

3个回答

u012592081
u012592081   2014.08.29 17:46

class A{
public Object obj = null;

//这个构造函数会在系统开始初始化
public A(Object _obj){//你这个函数应该教构造函数,建议构造函数加一个无参的。
this.obj = ((A) _obj).get();//还有你objct没有这个函数得写吧!

}
Object get()
{
return obj;
}

}
class text extends A{

public text(Object _obj)
{
    super(_obj);

    this.obj=this.get();
}

}
说实话没搞懂你要干什么?但是如果是父子关系,那子类可以调用父类所以非保护函数和变量。java书里面有自己看吧!

u011085698
u011085698   2014.09.11 22:59

可以直接用了啊,因为B已经继承了A啊

hongjinusa
hongjinusa   2014.09.13 09:23

我想这个哥们的问题是想直接用父类的 obj 的值,那就大错特错了。

new A("test");
new B("123");

里面的 obj 里的值是不一样的。继承并不继承值,只继承 public 和 protected 的方法和变量

Csdn user default icon
上传中...
上传图片
插入图片