Даъват кардани усули Java

Муаллиф: Tamara Smith
Санаи Таъсис: 23 Январ 2021
Навсозӣ: 29 Июн 2024
Anonim
Java Tech Talk: Telegram бот на java за 1 час
Видео: Java Tech Talk: Telegram бот на java за 1 час

Мундариҷа

Вақте ки шумо барномасозиро дар Java оғоз мекунед, бисёр мафҳумҳои навро бояд омӯхт. Синфҳо, усулҳо, истисноҳо, созандаҳо, тағирёбандаҳо ва ғайра мавҷуданд ва он баъзан метавонад бениҳоят зиёд бошад. Пас беҳтар аст, ки забонро зина ба зина омӯзед. Дар ин мақола шумо мефаҳмед, ки чӣ гуна усули Java-ро даъват кардан мумкин аст.

Ба қадам

  1. Усул ин эквиваленти функсия дар забонҳое мебошад, ба монанди C, ки истифодаи дубораи кодро осон мекунад. Як қатор изҳоротҳо якҷоя усул месозанд ва ин усулро бо изҳороти дигар номидан мумкин аст. Вақте ки метод даъват карда мешавад, ҳамаи изҳороте, ки ба он усул дохил мешаванд, иҷро карда мешаванд. Масалан, ин усулро дида бароед: "public static void methodExample () {}". Он ҳоло ягон рамз надорад, аммо барои номи метод се калимаи калидӣ мавҷуданд. Инҳо оммавӣ, статикӣ ва ботил мебошанд.

  2. Калимаи ҷамъиятӣ пеш аз номи метод маънои онро дорад, ки худи метод метавонад аз ҳар ҷое даъват шавад, масалан, дарсҳо ё ҳатто аз дигар бастаҳо (файлҳо), ба шарте ки шумо синфро (класс) ворид кунед. Се калимаи дигаре мавҷуданд, ки оммавиро иваз карда метавонанд. Инҳо ҳифз ва хусусӣ мебошанд. Агар усул муҳофизат карда шуда бошад, пас метавонист танҳо ин синф ва зерсинфҳо (синфҳое, ки инро ҳамчун рамзи минбаъда истифода мебаранд) даъват кунанд. Агар усули хусусӣ бошад, пас методро танҳо аз дохили худи синф даъват кардан мумкин аст. Калимаи охирин асосан ҳатто калима нест. Агар шумо ба ҷои ҷамъиятӣ, ҳифзшуда ё хусусӣ чизи дигаре надошта бошед, ин калимаро истифода баред. Инро "пешфарз" ё бастаи хусусӣ меноманд. Ин маънои онро дорад, ки танҳо синфҳои як бастаи методро даъват карда метавонанд.

  3. Калимаи дуюм, статикӣ маънои онро дорад, ки метод ба синф тааллуқ дорад ва намунаи синф (объект) нест. Усулҳои статикӣ бояд бо истифода аз номи синф даъват карда шаванд: "ExampleClass.methodExample ()". Аммо, агар статикӣ вуҷуд надошта бошад, пас методро танҳо объект даъват карда метавонад. Масалан, бо синфи бо номи ExampleObject ва созанда (барои сохтани объектҳо), мо метавонем объекти навро бо рамзи ExampleObject obj = new ExampleObject () созем ва сипас усули бо "obj.methodExample ();" - ро даъват кунем.

  4. Калимаи охирини пеш аз номи метод беэътибор аст. Калимаи ботил маънои онро дорад, ки усул ҳеҷ натиҷае намедиҳад (вақте ки шумо ин усулро иҷро мекунед). Агар шумо хоҳед, ки усули баргардонидани чизе бошад, калимаи ботилро бо навъи маълумот (навъи ибтидоӣ ё истинодӣ) -и объекте, ки шумо мехоҳед баргардонед, иваз кунед. Сипас коди баргардонидан ва объекти чунин навъи дар ягон ҷои охири рамзи метод ҷойгиршударо илова кунед.

  5. Ҳангоми даъват кардани усули баргардонидани чизе, шумо метавонед ҳар чӣ баргардонида мешавад, истифода баред. Масалан, агар someMethod () як ададро баргардонад, шумо метавонед арзиши бутуни баргардондашударо бо рамзи "int a = someMethod ();" дода метавонед.

  6. Баъзе усулҳо параметрро талаб мекунанд. Усуле, ки параметр ё бутунро талаб мекунад, чунин ба назар мерасад: someMethod (int a). Ҳангоми истифодаи чунин усул, шумо номи методро менависед, пас адади бутунро дар қавс менависед: someMethod (5) or someMethod (n) агар n бутун бошад.

  7. Усулҳо инчунин метавонанд параметрҳои гуногун дошта бо вергул ҷудо карда шаванд. Агар усули someMethod ду параметрро талаб кунад, int a ва Object obj, пас инро ҳамчун "someMethod (int a, Object obj)" нависед. Барои истифодаи ин усули нав, онро бо номи метод меномиданд ва пас аз он бутун ва Объект дар қавс дохил карда мешуд: someMethod (4, thing), ки он ҷо ашё объект аст.

Маслиҳатҳо

  • Вақте ки шумо усули баргаштанро даъват мекунед, шумо метавонед усули дигарро дар асоси он чизе, ки ин усул бармегардонад, даъват кунед. Биёед гӯем, ки мо як усули getObject () дорем, ки объектро бармегардонад. Дар синфи Object усули ғайри статикӣ мавҷуд аст, ки toString ном дорад, ки объектро дар шакли String бар мегардонад. Пас, агар шумо хоҳед, ки Стринг аз Объект бо getObject () дар як сатри код баргаштааст, шумо инро ҳамчун "String str = getObject (). ToString ();" барномарезӣ мекунед. "

Огоҳӣ

  • Бо дарсҳо ва усулҳои реферат эҳтиёткор бошед. Агар усули "реферат" бошад, онро то синфи дигар иҷро накарда наметавонад. Сабаб ин аст, ки усули абстрактӣ ибтидо ягон рамзро дар бар намегирад. Синфҳои реферат ҳамчун як навъ чаҳорчӯба истифода мешаванд.