10 Ошибок, которых следует избегать в программировании на Java

10 Ошибок, которых следует избегать в Java-программировании - манекены

Вот 10 быстрых напоминаний, чтобы избежать простых ошибок при программировании приложений Android с Java код. Написание собственных программ Java будет намного проще и плавнее, когда вы запустите этот контрольный список.

Положить прописные буквы, где они принадлежат

Java - это язык с учетом регистра, поэтому вам действительно нужно иметь в виду ваши P s и Q s - вместе со всеми другими буквами алфавита. Вот несколько концепций, которые следует учитывать при создании Java-программ:

  • Все ключевые слова Java полностью строчные. Например, в выражении Java if слово , если не может быть If или IF.

  • Когда вы используете имена из интерфейса прикладного программирования Java (API), случай имен должен соответствовать тому, что появляется в API.

  • Вам также необходимо убедиться, что имена, которые вы сами составляете, капитализируются одинаково на всей программе. Если вы объявляете переменную myAccount, вы не можете ссылаться на нее как MyAccount, myaccount или Myaccount. Если вы заглаживаете имя переменной двумя разными способами, Java думает, что вы имеете в виду две совершенно разные переменные.

Вырыв из оператора switch

Если вы не выходите из оператора switch, вы получаете провал. Например, если значение ролика равно 7, следующий код печатает все три слова: победить, продолжить и проиграть:

 switch (roll) {case 7: System. вне. Println ( "победа"); случай 10: система. вне. Println ( "продолжить"); Случай 12: Система. вне. println («потерять»);} 

Сравнить значения с двойным знаком равенства

Когда вы сравниваете два значения друг с другом, вы используете знак двойного равенства. Строка

 if (inputNumber == randomNumber) 

верна, но строка

 if (inputNumber = randomNumber) 

неверна.

Добавить прослушиватели для обработки событий

Вы хотите знать, когда пользователь нажимает на виджет, когда заканчивается анимация или когда что-то происходит, поэтому вы создаете слушателей:

 public class MainActivity extends Activity  реализует OnClickListener, AnimationListener  {... public void onClick (View view) {...} public void onAnimationEnd (анимационная анимация) {...} 

Когда вы создаете слушателей, вы должны помнить о том, чтобы установить слушателей:

 Виджет ImageView = новый ImageView (это); виджет.  setOnClickListener  (это); ... AlphaAnimation animation = new AlphaAnimation (0. 0F, 1.FF); анимация.  setAnimationListener  (это); ... 

Если вы забыли вызов setOnClickListener, ничего не происходит, когда вы нажимаете на виджет. Повторное нажатие на виджет второй раз не помогает.

Определить необходимые конструкторы

Когда вы определяете конструктор с параметрами, как в

 public Temperature (двойной номер) 

Java больше не создает для вас конструктор без параметров без параметров. Другими словами, вы больше не можете звонить

 Temperature roomTemp = new Temperature (); 

, если вы явно не определяете свой собственный конструктор температуры без параметров.

Исправить нестатические ссылки

Если вы попытаетесь скомпилировать следующий код, вы получите сообщение об ошибке:

 class WillNotWork {String greeting = "Hello"; public static void main (String args []) {System. вне. println (приветствие);}} 

Появляется сообщение об ошибке, поскольку main является статическим, но приветствие не является статичным.

Оставайтесь в пределах массива

Когда вы объявляете массив с десятью компонентами, компоненты имеют индексы от 0 до 9. Другими словами, если вы объявляете

 int guests [] = new int [10]; 

вы можете обратиться к компонентам массива гостей, написав гостям [0], гостям [1] и т. Д., Вплоть до гостей [9]. Вы не можете писать гостям [10], потому что в массиве гостей нет компонента с индексом 10.

Anticipate null Указатели

Эти примеры не склонны бросать исключение NullPointerException, но в реальном Java-программировании вы это исключение все время. Исключение NullPointerException возникает, когда вы вызываете метод в выражении, которое не имеет «законного» значения. Вот дешевый пример:

 public class ThrowNullPointerException {public static void main (String [] args) {String myString = null; display (myString);} static void display (String aString) {if (! aString. содержит («конфиденциально»)) {System. вне. println (aString);}}} 

Метод отображения печатает строку символов, только если эта строка не содержит слово конфиденциальный . Проблема в том, что переменная myString (и, следовательно, параметр aString) не относится к строке любого типа - даже к пустой строке (").

Когда компьютер достигает вызова aString. содержит, компьютер ищет метод contains, принадлежащий null. Но нуль - ничто. Нулевое значение не имеет методов. Таким образом, вы получаете большое исключение NullPointerException, и программа рушится вокруг вас.

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

 try {if (! AString. Contains ("конфиденциальный")) {System. вне. println (aString);}} catch (NullPointerException e) {System. вне. println («Строка нуль.»);} 

Использовать разрешения

Для некоторых приложений требуются явные разрешения. Например, приложение может разговаривать с серверами Twitter через Интернет. Это не работает, если вы не добавите элемент в AndroidManifest приложения. xml-файл:

Если вы забыли добавить элемент в свой AndroidManifest. xml, приложение не может общаться с серверами Twitter. Приложение выходит из строя, не вызывая полезного сообщения об ошибке. Очень жаль!

Действие не найдено

Если вы создаете второе действие для своего приложения, вы должны добавить новый элемент в AndroidManifest приложения.xml-файл. Например, приложение для Android может иметь два действия: MainActivity и MyListActivity.

Eclipse автоматически создает

 

Если вы не добавите этот элемент, Android не сможет найти класс MyListActivity, даже если MyListAcitivity. java-файл находится в каталоге проекта Eclipse. Приложение перестает работать с ActivityNotFoundException.

И это имеет значение.