【发布时间】:2014-12-02 05:40:36
【问题描述】:
我想知道是否可以覆盖第 3 方 jar 文件中的受保护方法。我猜我可以使用反射调用该方法,但我将如何完全覆盖它?
方法是
protected void a(World world, int i, int j, int k, ItemStack itemstack) {
if (!world.isStatic && world.getGameRules().getBoolean("doTileDrops")) {
float f = 0.7F;
double d0 = (double) (world.random.nextFloat() * f) + (double) (1.0F - f) * 0.5D;
double d1 = (double) (world.random.nextFloat() * f) + (double) (1.0F - f) * 0.5D;
double d2 = (double) (world.random.nextFloat() * f) + (double) (1.0F - f) * 0.5D;
EntityItem entityitem = new EntityItem(world, (double) i + d0, (double) j + d1, (double) k + d2, itemstack);
entityitem.pickupDelay = 10;
world.addEntity(entityitem);
}
}
【问题讨论】:
-
如果你继承自它所属的类,你可以在你自己的包之外
overrideprotected方法。 -
我没有得到你的问题。如果它是受保护的方法,您可以通过扩展类来覆盖它。检查Java Access Modifiiers
-
我知道我可以覆盖它,但我不知道如何让其他插件使用覆盖的方法。