getPlugin()
메서드를 작성하여 다른 클래스의 기본 클래스를 가져올 수 있습니다.다른 클래스를 가져 오는 중 문제가 발생했습니다.
public class Main extends JavaPlugin {
public Main getPlugin() {
return this;
}
}
public class Arena {
private Main plugin = Main.getPlugin();
}
... 이클립스 나에게 다음과 같은 오류 제공
하지만 호출 할 때 ... :
Cannot make a static reference to the non-static method getPlugin() from the type Main
내가 정적 사용했다,하지만 정적 나를 준다 문제는 여러 곳에서 발생합니다. 정적은 대개 물건을 만드는 나쁜 방법입니다. 메모리 누출 등이 발생합니다.
나는 getters와 setters를 사용해 보았지만, 그것들 역시 정적 일 필요가 있습니까? 사용하고있는 코드가 매우 엉망이며 다른 클래스에 액세스하는 더 깨끗한 방법을 찾고 싶습니다.
정적 사용이 나쁘지 않다 . 그것은 많은 유스 케이스를 가지고있다. Static은 클래스의 모든 인스턴스가 static으로 선언 한 모든 변수 또는 메소드를 공유한다는 것을 의미합니다. – brso05
getPlugin() 메서드가 해당 클래스의 인스턴스에만 해당하지 않으면 Static을 사용해야합니다. – brso05
'static '이 무엇인지 그리고 언제 사용하는 것이 적절한 지 이해해야합니다. 정적인지 아닌지, 반드시 getPlugin() 메소드를 * 호출 *해야 할 필요가있다. –