java语言中,子类如何覆写父类所定义的值?

我在父类中定义了一个mon的字符串,但没有具体内容,只是定义。
我想在子类中让这个字符串有具体内容,
让(mon="Angemon";),
应该如何覆写或者定义?

你父类的的属性用的private(私有),这个是没办法直接继承使用的,有三种方法修改
一:你可以把修饰改为public(公有),这样在子类中就可以直接修改,如下:
Digimon:
public class Digimon {
public String mon;
public String name;
}
Patamon:
public class Patamon extends Digimon{
public Patamon(){
mon="Angemon";
}
}
二:给父类添加get,set方法,如下:
Digimon:
public class Digimon {
private String mon;
private String name;
public String getMon() {
return mon;
}
public void setMon( String mon ) {
this.mon = mon;
}
public String getName() {
return name;
}
public void setName( String name ) {
this.name = name;
}
Patamon:
public class Patamon extends Digimon{

public Patamon(){
setMon( "Angemon" );
}
}
}
三:给父类添加参数构造器(也需要添加get,set不然赋值了你也获取不到),如下:
Digimon:
public class Digimon {
private String mon;
private String name;
public Digimon() {
super();
}
public Digimon( String mon, String name ) {
super();
this.mon = mon;
this.name = name;
}
public String getMon() {
return mon;
}
public void setMon( String mon ) {
this.mon = mon;
}
public String getName() {
return name;
}
public void setName( String name ) {
this.name = name;
}
}
Patamon:

public class Patamon extends Digimon{

public Patamon(){
//调用父类构造器
super( "Angemon", "豆豆" );
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-10
1、你在父类中定义的是private类型的属性,子类无法直接修改它,你需要在父类中提供修改它的方法。
2、开放private属性的修改方法有两种,一种是提供public类型的setName(String name)方法,在其中赋值。此时在子类中可以直接调用这个方法。
3、也可以提供带参数的构造函数,在子类中调用父类的带参构造函数,实现属性的赋值。
第2个回答  2020-04-10
super.mon=就可以了
相似回答