Надеюсь, это поможет
public class B extends A {
// public int intVal = 2;
public B() {
super();
super.intVal = 2;
}
public void identifyClass() {
System.out.println("I am class B");
}
}
В целом участники класса должны представить состояние из объекта класса.
Они не временные местоположения для параметров метода (это - то, что параметры метода для).
Я утверждаю, что это не проблема стиля, а скорее проблема удобочитаемости/пригодности для обслуживания. Одна переменная должна иметь одно использование и одно использование только. Переменные “Recycling” в различных целях просто, потому что они, оказывается, требуют того же типа, не имеют никакого смысла.
Из Вашего описания кажется будто код другого человека, Вы продолжили работать, делает точно это, так как все другое использование в основном охвачено Вашим списком. Помещенный просто, это использует переменные члена парламента, не занимающего официального поста для действия как временные файлы в зависимости от ситуации. Действительно ли я прав принять это? Если так, код ужасен.
, Чем меньший лексический контекст и время жизни любой данной переменной, тем меньше возможности ошибочного использования и лучше для распоряжения ресурса.
Наличие членской переменной подразумевает, что будет содержать состояние, которое должно быть сохранено между вызовами метода. Если значение не должно жить между вызовами, оно не имеет никакой причины существовать за пределами объема единственного вызова, и таким образом (если оно существует вообще), должна быть переменная в рамках самого метода.
Стиль является всегда твердым, как только Вы разрабатываете тот, который можно застрять в чем-то вроде колеи, и может быть трудно видеть, почему то, что Вы делаете, не может быть лучшим способом.
Необходимо только создать переменные, когда и где они необходимы и избавляются от них, когда Вы сделаны. Если классу не нужна переменная уровня класса для функционирования, то ему просто не нужен тот. Создание переменных, где Вам не нужны они, является очень плохой практикой.
Я не уверен, что существует установленная лучшая практика для использования глобально ограниченных по объему переменных по сравнению со всегда передачей как параметры метода. ("Частными переменными" я предполагаю, что Вы имеете в виду глобально ограниченные по объему переменные.)
Используя глобально ограниченную по объему переменную единственный способ реализовать свойства в.NET (даже автоматические свойства в конечном счете используют глобально ограниченную по объему переменную, просто не один необходимо объявить себя).
существует строка arguement для того, чтобы всегда использовать параметры метода, потому что это делает это абсолютно ясным, куда значение прибывает из. Я не думаю, что это действительно помогает препятствовать тому, чтобы метод внес изменения в базовое значение, и это может, по-моему, сделать вещи более трудными время от времени читать.
Я не согласился бы с реализацией его для глобального доступа или сделать программирование легче. Путем представления их глобально, не фильтруя никакого вида делают более трудным определить доступ в будущем.