Домой Учебники по Java и J2EE Советы по Java: никогда не делайте поля экземпляров класса общедоступными

Советы по Java: никогда не делайте поля экземпляров класса общедоступными

364
0

Переменная экземпляра — это переменная, объявленная внутри класса, для которой каждый объект класса имеет свое собственное значение.

В Java создание поля класса public может вызвать много проблем в программе. Например, у вас может быть класс MyCompany. Этот класс содержит массив строковых компаний.

Возможно, вы предположили, что этот массив всегда будет содержать 4 названия компаний. Но так как этот массив общедоступен, он может быть доступен любому. Кто-то по ошибке также может изменить значение и вставить ошибку!

1
2
3
4
5
6
7
8
общественности учебный класс Моя компания {
     общественности Строка [ ] компании знак равно
         { Google , Yahoo , Microsoft , Paypal } ;
     // некоторый код
}

Лучший подход, как многие из вас уже знают, это всегда делать поле private и добавить getter метод доступа к элементам .

1
2
3
4
5
6
частный Строка [ ] компании знак равно
         { Google , Yahoo , Microsoft , Paypal } ;
общественности Строка [ ] getCompanies ( ) {
     вернуть компании ; // несовершенный код
}

Но написание метода получения не совсем решает нашу проблему . Массив все еще доступен. Лучший способ сделать это unmodifiable это вернуть clone of array вместо самого массива. Таким образом, метод получения будет изменен на.

1
2
3
общественности Строка [ ] getCompanies ( ) {
     вернуть компании . клон ( ) ; // лучший код
}

Бонусная Диаграмма:

Советы по Java: никогда не делайте поля экземпляров класса общедоступными

0.00 (0%) 0 votes

ЧИТАТЬ ТАКЖЕ:  Ленивое создание экземпляра Singleton ThreadSafe без использования синхронизированного ключевого слова

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь