Programmeerimiskeel Java/Meetodid: erinevus redaktsioonide vahel

Eemaldatud sisu Lisatud sisu
40. rida:
 
Me võime samas klassis defineerida kaks või enam meetodit, mis omavad sama nime. Samas klassis defineeritud sama nime jagavad meetodid peavad erinema üksteisest, kas parameetrite arvukuse ja/või -tüübidega. Java terminoloogias kutsutakse seda meetodi parameetrite ületäidetavuseks(en:method overloading). Java ei nõua eraldi võtmesõna meetoditele mis jagavad sama nime samas klassis.
 
== Uut klassi elementi ehitav meetod ==
 
On olemas spetsiaalne klassi ehitav meetod, mis täidetakse, kui element sellele klassi luuakse. Tähelepanu, et elemndi saab luua Javas võtmesõnaga '''new'''. Kui klassi elementi või selle elemendi meetodeid ja muutujaid on vaja kasutada pikemal perioodil, kui hetk, millal elemnt loodi, tuleb ta väärtus anda muutujale. Muutuja tüüp peab olema klassi tüüp '''või''' tüüp millest klassi tüüp on pärinenud. Uut klassi elementi ehitav meetod omab parameetritega ületäidetavuse võimalust. Uut klassi elementi ehitav meetod omab sama nimetust, mis klass.
 
Juba muutujat deklareerides on tihti võimalik uus objekt algväärtustada, mitte lihttüüpide puhul tähendab see, et elementi ehitavale meetodile antakse parameetreid, mille põhjal objekt omandab staatuse muutuse ja on väärtustatud. Uut klassi elementi ehitav meetod aga ei pea tingimata saama parameetreid, ta võib seada objektili kindla staatuse või ise pärida endale endmed staatuse omandamiseks.
 
<source lang="java">
public class MinuKlass
{
private String liikmesMuutuja;
/**
* Uut MinuKlass elementi ehitav meetod, talle ei ole antud parameetreid
*/
public MinuKlass()
{
liikmesMuutuja = "Tere Inimene";
}
/**
* Uut MinuKlass elementi ehitav meetod, talle antakse 1 parameeter
*/
public MinuKlass( String param1 )
{
liikmesMuutuja = "Tere " + param1;
}
public String Väljund()
{
return liikmesMuutuja;
}
}
</source>
Antud juhul, on 2 MinuKlass'i klassi elementi ehitavat meetodit, millest vaid üks leiab kasutust, ning see sõltub kas talle antakse argumentidks sõne või ei anta midagi.
<source lang="java">
{
...
/* Muutuja obj1 deklaratsioon tüübina MinuKlass,
* ning algväärtustamine uue MinuKlass tüüpi elemendiga.
*
* Antud juhul ei anta parameetreid ja "new MinuKlass()"
* käivitatakse uut MinuKlass elementi ehitav meetod,
* mis ei nõudund parameetreid, st. privaatmuutuja
* liikmesMuutuja saab väärtuseks "Tere Inimene";
*/
MinuKlass obj1 = new MinuKlass();
/* Muutuja obj2 deklaratsioon tüübina MinuKlass,
* ning algväärtustamine uue MinuKlass tüüpi elemendiga.
*
* Antud juhul ei antakse parameeter ja "new MinuKlass()"
* käivitatakse uut MinuKlass elementi ehitav meetod,
* mis soovis sõne argumenti, st. privaatmuutuja
* liikmesMuutuja saab väärtuseks "Tere Loom";
*/
MinuKlass obj2 = new MinuKlass("Loom");
...
}</source>