一个简单的JAVA问题,请迅速帮忙,谢谢!

KENNY_YY 2007-12-11 11:47:52
大家好!以下代码我调试通过的,问题是如果将 类aaa中的 protected 改成 private 后,如何修改其他代码,谢谢指导!

class aaa
{

protected String name;
protected String location;

public aaa(String name,String address)
{
this.name=name;
this.location=address;
}

public String toString()
{
return name+"在"+location;
}

}

class bbb extends aaa
{
private int population;

public bbb(String name,String location)
{
super(name,location);
population=2;
}

public bbb(String name,String location,int population)
{
super(name,location);
this.population=population+10000;
}

public void setPopulation(int population)
{
this.population=population;
}

public int getPopulation()
{
return population;
}

public String toString()

{
return name+"in"+location+":人口数量"+population+"\n";
}
}

class useX1
{
public static void main(String args[])
{
bbb b1=new bbb("aaa","bbb");
System.out.println(b1);
bbb b2=new bbb("ccc","ddd",31);
System.out.print(b2);
}
}
...全文
136 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cursor_wang 2007-12-12
  • 打赏
  • 举报
回复
加个get方法就好了.

class aaa {

private String name;

private String location;

public aaa(String name, String address) {
this.name = name;
this.location = address;
}

public String toString() {
return name + "在" + location;
}
public String getName(){
return name;
}
public String getLocation(){
return location;
}

}

class bbb extends aaa {
private int population;

public bbb(String name, String location) {
super(name, location);
population = 2;
}

public bbb(String name, String location, int population) {
super(name, location);
this.population = population + 10000;
}

public void setPopulation(int population) {
this.population = population;
}

public int getPopulation() {
return population;
}

public String toString()

{
return this.getName() + "in" + this.getLocation() + ":人口数量" + population + "\n";
}
}

class useX1 {
public static void main(String args[]) {
bbb b1 = new bbb("aaa", "bbb");
System.out.println(b1);
bbb b2 = new bbb("ccc", "ddd", 31);
System.out.print(b2);
}
}
ltc_mouse 2007-12-12
  • 打赏
  • 举报
回复
是否可以只修改子类bbb的toString()方法,其他的似乎没有影响。
不过这么改,原本派生类输出的"in"没了,变成父类的"在"了

public String toString() {
return super.toString()+":人口数量"+population+"\n";
}
dracularking 2007-12-12
  • 打赏
  • 举报
回复
那就在bbb中完成原来需要aaa协助完成的初始化工作
但这样就舍弃了父类

class bbb {
private int population;

private String name;

private String location;

public bbb(String name, String location) {
// super(name, location);
this.name = name;
this.location = location;
population = 2;
}

public bbb(String name, String location, int population) {
// super(name, location);
this.name = name;
this.location = location;
this.population = population + 10000;
}

public void setPopulation(int population) {
this.population = population;
}

public int getPopulation() {
return population;
}

public String toString()

{
return name + "in" + location + ":人口数量" + population + "\n";
}
}
KENNY_YY 2007-12-12
  • 打赏
  • 举报
回复
顶,急急急,多谢各位高人!

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧