Методи в Java | Автор:
R3sp3k7 на 1:09:2009 в 20:08:27
Здравейте,
в миналия урок (за променливите) ние използвахме метода:
| Код: |
public static void main (String[] args )
|
Този метод, е познат като основен. Затова нека променим този метод, за да видите как програмата ще покаже грешка.
Както споменахме е модификатор и показва, че този метод ще може да го използваме навсякъде в нашата програма. Повече за модификаторите, ще откриете в следващите уроци.
Ако е зададен за модификатор "static" тогава може само 1 път в програмата ви. Това определение може да ви е непознато, докато не започнете да пишете обектно ориентиран код.
Този ред е познат като "тип за връщане". Ако вие сте прочели миналият урок ( за променливите ) то вие трябва да знаете различните типове, ако не сте препоръчвам да го направите :). Самостоятелно 'void' не връща нищо, ако искате да върнете нещо просто добавете този код:
Пример:
| Код: |
int number = 10; return number;
|
Това трябва да ви се изясни в примера долу.
Това е името на метода, може да имате методи с едно и също име, важното е да са с различни аргументи.
Това са аргументите на метода. Той приема, низ, който всъщност е масив (повече за масивите ще научите в следващите уроци). Вие може да зададете какъвто искате тип на аргументите, т.е. 'int', 'string' и т.н.
Сега да разгледаме една примерна програма, вие можете да я редактирате както желаете.
В примера е използван типа 'void'.
| Код: |
public class MethodsExample { public static void main (String[] args ) { printMessage(); } public static void printMessage() { System. out. println("Hello world!"); } }
|
Когато вие компилирате и съответно запазите този клас, то той ще изведе 'Hello World!', сега да обясним кода:
| Код: |
public static void printMessage() {
|
Този ред декларира метода, всичко което ще е в квадратните скоби ('{' и '}'), ще се изпълнява. Този метод е 'public' и е достъпен и в другите класове, той е от тип 'void' затова не връща нищо ('за типа 'void' може да прочетете по нагоре) и неговото име е 'printMessage'.
Ние може да извикаме метода като използваме
След като извикаме метода, той ще се изпълни само веднъж.
Сега нека разгледаме друг по-сложен метод, който използва и променливи.
| Код: |
public class MethodsExampleTwo { public static void main (String[] args ) { int num = getNumber(); } public static int getNumber() { int number = 10; return number; } }
|
Компилирайте, запазете и го стартирайте, би трябвало резултата да е '10'.
Сега нека да обясним :)
| Код: |
public static int getNumber() { int number = 10; return number; }
|
Този метод е много прост, той декларира числена променлива ( int number = 10; ) и и задава стойност от 10. След това с 'return number' връщаме стойноста на променливата number.
| Код: |
public static void main (String[] args ) { int num = getNumber(); }
|
В този метод стойноста на 'int num' е резултата от функцията 'getNumber()'.
'getNumber()' ще върне стойност 10. Съответно 'num' ще има стойност 10.
Сега да го направим по-динамичен с помощта на аргументите :).
| Код: |
public class MethodsExampleThree { public static void main (String[] args ) { int num = multiply(5, 6); } public static int multiply(int num1, int num2) { return num1 * num2; } }
|
Метода 'multiply' има за задаване 2 аргумента, който след като се зададат се умножават едно по друго, след което се съхраняват в променливата 'num'.
С този код извикваме метода:
| Код: |
int num = multiply(5, 6);
|
Съответно променливата 'num' ще има стойност 30 ( 5 * 6 = 30 ).
След което показваме променливата с този ред
Нека да обясна и двете грешките които може да се появят.
| Код: |
C:Documents and SettingsMy DocumentsMethodsExample.java:3: cannot find symbol symbol : method getNumber() location: class MethodsExample int num = getNumber(); ^ 1 error Tool completed with exit code 1
|
Обикновено това просто означава, грешка при извикването, проверете дали името на метода е същото при дефинирането и при извикването му. Запомнете, че има чувствителност на големи и малки букви.
Друга предполагаема грешка е тази:
| Код: |
C:Documents and SettingsMy DocumentsMethodsExample.java:6: invalid method declaration; return type required public static getNumber() { ^ 1 error Tool completed with exit code 1
|
Както забелязвате не е дефиниран тип на метода, ако не искате да бъде извикан никакъв тип, просто след 'static' добавете тип 'void'.
Урока е преведен за www.dev-bg.eu от www.live-cs.com.
Още от категория:
Java |
Добави като любим