타사 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);
}
}
자신이 속한 클래스에서 상속 된 경우 자신의 패키지 외부에서 보호 된 메서드를 '재정의 (override)'할 수 있습니다. –
질문을받지 못했습니다. 보호 된 메서드 인 경우 클래스를 확장하여 재정의 할 수 있습니다. Check [Java Access Modifiiers] (http://www.tutorialspot.com/java/java_access_modifiers.htm) – Vikas
나는 그것을 무시할 수 있다는 것을 알고 있지만, 다른 플러그인이 재정의 된 메소드를 사용하는 방법을 모른다. – 97WaterPolo