我有一个关于继承的快速问题。目前,我正在创建一个简单的程序,重新演绎您在使用伪造修改Minecraft的过程中制作自定义块的过程。
我有超级班def videoNameExists(vidName):
vidName = vidName.encode("utf-8")
bugFixVidName = vidName.replace(":", "")
search_url ='http://cdn-api.ooyala.com/v2/syndications/49882e719/feed?pcode=1xeGMxOt7GBjZPp2'.format(bugFixVidName) #this URL is altered to protect privacy for this post
:
Block
然后我做了两个孩子课。它们是相同的,但这里只是一个参考。
public class Block {
public String name;
public int id;
public int height = 16;
public Block(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void onRightClick() {
System.out.println("You Right Clicked!");
}
public void setUnlocalizedName(String name) {
this.name = name;
}
}
另一个类称为package com.andrewfurniss;
public class GrassBlock extends Block {
public GrassBlock(int id) {
super(id);
this.setUnlocalizedName("DirtBlock");
}
}
。当我打印出名字时,它只打印出我宣布的第二个名字。那是为什么?
答案 0 :(得分:1)
这是因为您在GrassBlock
:
this.setUnlocalizedName("DirtBlock");
可能是复制粘贴错误。
答案 1 :(得分:0)
也许你在做:
public void ToDo(){
Block b = new GrassBlock(0);
b = new DirtBlock(1);
System.out.println(b.getName());
}
?? 我们需要您用来打印的代码然后命名...
我编辑,为什么你在grassblock ctor上写“dirtblock”?也许就是这样。