Потребителски панел
Запомни
Реклама

Методи в Java | Автор: R3sp3k7 на 1:09:2009 в 20:08:27

Здравейте,
в миналия урок (за променливите) ние използвахме метода:
Код:
  1. public static void main(String[] args)

Този метод, е познат като основен. Затова нека променим този метод, за да видите как програмата ще покаже грешка.

Код:
  1. public

Както споменахме е модификатор и показва, че този метод ще може да го използваме навсякъде в нашата програма. Повече за модификаторите, ще откриете в следващите уроци.

Код:
  1. static

Ако е зададен за модификатор "static" тогава може само 1 път в програмата ви. Това определение може да ви е непознато, докато не започнете да пишете обектно ориентиран код.

Код:
  1. void


Този ред е познат като "тип за връщане". Ако вие сте прочели миналият урок ( за променливите ) то вие трябва да знаете различните типове, ако не сте препоръчвам да го направите :). Самостоятелно 'void' не връща нищо, ако искате да върнете нещо просто добавете този код:
Код:
  1. return object;

Пример:
Код:
  1. int number = 10;
  2. return number;

Това трябва да ви се изясни в примера долу.
Код:
  1. main

Това е името на метода, може да имате методи с едно и също име, важното е да са с различни аргументи.
Код:
  1. String[] args

Това са аргументите на метода. Той приема, низ, който всъщност е масив (повече за масивите ще научите в следващите уроци). Вие може да зададете какъвто искате тип на аргументите, т.е. 'int', 'string' и т.н.
Сега да разгледаме една примерна програма, вие можете да я редактирате както желаете.
В примера е използван типа 'void'.
Код:
  1. public class MethodsExample {
  2. public static void main(String[] args) {
  3. printMessage();
  4.  
  5. }
  6. public static void printMessage() {
  7. System.out.println("Hello world!");
  8.  
  9. }
  10. }

Когато вие компилирате и съответно запазите този клас, то той ще изведе 'Hello World!', сега да обясним кода:
Код:
  1. public static void printMessage() {

Този ред декларира метода, всичко което ще е в квадратните скоби ('{' и '}'), ще се изпълнява. Този метод е 'public' и е достъпен и в другите класове, той е от тип 'void' затова не връща нищо ('за типа 'void' може да прочетете по нагоре) и неговото име е 'printMessage'.
Ние може да извикаме метода като използваме
Код:
  1. printMessage();

След като извикаме метода, той ще се изпълни само веднъж.

Сега нека разгледаме друг по-сложен метод, който използва и променливи.
Код:
  1. public class MethodsExampleTwo {
  2. public static void main(String[] args) {
  3. int num = getNumber();
  4. System.out.println(num);
  5. }
  6.  
  7.  
  8. public static int getNumber() {
  9. int number = 10;
  10. return number;
  11. }
  12. }

Компилирайте, запазете и го стартирайте, би трябвало резултата да е '10'.
Сега нека да обясним :)
Код:
  1. public static int getNumber() {
  2. int number = 10;
  3. return number;
  4. }

Този метод е много прост, той декларира числена променлива ( int number = 10; ) и и задава стойност от 10. След това с 'return number' връщаме стойноста на променливата number.
Код:
  1. public static void main(String[] args) {
  2. int num = getNumber();
  3. System.out.println(num);
  4. }

В този метод стойноста на 'int num' е резултата от функцията 'getNumber()'.
'getNumber()' ще върне стойност 10. Съответно 'num' ще има стойност 10.
Сега да го направим по-динамичен с помощта на аргументите :).
Код:
  1. public class MethodsExampleThree {
  2. public static void main(String[] args) {
  3. int num = multiply(5, 6);
  4. System.out.println(num);
  5. }
  6.  
  7. public static int multiply(int num1, int num2) {
  8. return num1 * num2;
  9. }
  10.  
  11. }

Метода 'multiply' има за задаване 2 аргумента, който след като се зададат се умножават едно по друго, след което се съхраняват в променливата 'num'.
С този код извикваме метода:
Код:
  1. int num = multiply(5, 6);

Съответно променливата 'num' ще има стойност 30 ( 5 * 6 = 30 ).
След което показваме променливата с този ред
Код:
  1. System.out.println(num);

Нека да обясна и двете грешките които може да се появят.
Код:
  1. C:Documents and SettingsMy DocumentsMethodsExample.java:3: cannot find symbol
  2. symbol : method getNumber()
  3. location: class MethodsExample
  4. int num = getNumber();
  5. ^
  6. 1 error
  7.  
  8. Tool completed with exit code 1

Обикновено това просто означава, грешка при извикването, проверете дали името на метода е същото при дефинирането и при извикването му. Запомнете, че има чувствителност на големи и малки букви.

Друга предполагаема грешка е тази:
Код:
  1. C:Documents and SettingsMy DocumentsMethodsExample.java:6: invalid method declaration; return type required
  2. public static getNumber() {
  3. ^
  4. 1 error
  5.  
  6. Tool completed with exit code 1

Както забелязвате не е дефиниран тип на метода, ако не искате да бъде извикан никакъв тип, просто след 'static' добавете тип 'void'.

Урока е преведен за www.dev-bg.eu от www.live-cs.com.

Още от категория: Java | Добави като любим
Коментари
Име:
Коментар:
Въведи кода*:
Категории
Реклама
Статистика
  • Уроци: 40
  • Проекти: 2
  • Коментари: 31
  • Потребители: 67
  • Общо онлайн: 5
  • Общо теми: 41
  • Общо мнения: 135