Используйте статические методы или объекты в любом классе (например, Clazz
), когда вы хотите получить к ним доступ без создания объекта (например, Clazz c = new Clazz();
). Например, если я использую статический метод public static void staticMethod() {}
и обычный метод public void regularMethod() {}
, я получу к ним доступ:
public class Clazz //A class with methods
{
public void regularMethod()
{
//Do something local
}
public static void staticMethod()
{
//Do something static
}
}
public class Main //The main class with the main method.
{
public static void main(String[] args)
{
Clazz.staticMethod();
Clazz c = new Clazz();
c.regularMethod();
}
}
Обратите внимание, что я не звонил Clazz.regularMethod();
, потому что это невозможно. Я не звонил c.staticMethod();
, потому что это плохая форма, хотя это возможно.
В общем, старайтесь НЕ использовать статические объекты, если это (A) не является абсолютно необходимым, или (B) должен быть доступен в любое время из любого контекста