Правильный способ доступа к методу из запускаемого

1

У меня есть два варианта доступа к методу из runnable:

Дело 1:

public class ParentClass{

    private void otherMethod(){
        // some work
        // may call someMethod() from here also
    }

    class MyThread implements Runnable{
        @Override
        public void run() {
            someMethod();
        }

        private void someMethod(){
            // some work
        }
    }   
}

случай 2:

public class ParentClass{

    private void otherMethod(){
        // some work
        // may call someMethod() from here also
    }
    class MyThread implements Runnable{
        @Override
        public void run() {
            someMethod();
        }
    }

    private void someMethod(){
    // some work
    }
{

Я хочу знать, каковы плюсы и минусы определения метода someMehod() внутри MyThread.

И разница между этими двумя случаями.

  • 0
    Это не вопрос для SE .. Вы должны задать это на programmers.stackexchange.com
  • 0
    Вы делаете одно и то же в обоих случаях.
Показать ещё 1 комментарий
Теги:
runnable

1 ответ

1

Простота: используйте наименьший объем и наиболее ограничительную видимость, которая требуется.

Если someMethod() используется только из MyThread, то, очевидно, поместите его в MyThread и сделайте его private.

Если ParentClass также использует someMethod(), поместите его в ParentClass. Если someMethod() вызывается только из ParentClass и из MyThread, сделайте его private. Если он вызывается из других классов пакетов (тот же пакет), сделайте его приватным или protected. Если он также вызван из подклассов, сделайте его protected. Если он вызывается из других пакетов, сделайте его public.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню