Алдыңғы оқулықта біз Java 8-дегі ламбда өрнектерін үйрендік. Мұнда java 8 жаңа әдісін талқылаймыз. Әдіс сілтемесі - әдісті шақыру үшін лямбда сөзінің стенографиялық белгісі. Мысалға:
Егер сіздің lambda өрнегіңіз мынада:
str -> System.out.println (str)
онда сіз оны мына әдіс сілтемесімен ауыстыра аласыз:
System.out :: println
:: Оператор әдіс сілтемесінде сынып немесе объектіні әдіс атауынан бөлуге болады (мысалдар арқылы үйренеміз).
Әдіс сілтемелерінің төрт түрі
1. Нысанның әдісі - object :: instanceMethod сілтемесі
2. Кластың статикалық әдісіне сілтеме жасау әдісі - Class :: staticMethod
3. Ерекше нысанның дана әдісіне сілтеме жасау әдісі - Class :: instanceMethod
4. Конструкторға арналған әдіс - Class :: new
1. Нысанның даналық әдісіне сілтеме жасау әдісі
@FunctionalInterface интерфейс MyInterface { Жарамсыз көрсеткіш (); } public class Үлгі { қоғамдық void myMethod () { System.out.println («Мысал әдісі»); } public static void main (String [] арг) { Мысал obj = new Мысал ();// Сынып объектісін пайдаланып әдіс сілтемесі MyInterface ref = obj :: myMethod; // Функционалды интерфейс әдісін шақыру ref.display (); } }
Шығару:
Мысал әдісі
2. Кластың статикалық әдісіне сілтеме жасау әдісі
import java.util.function.BiFunction; сыныпты көбейту { public статикалық int multiply (int a, int b) { a * b қайтару; } } public class Үлгі { public static void main (String [] арг) { BiFunction <Integer, Integer, Integer> product = көбейту: multiply; int pr = product.apply (11, 5); System.out.println («Берілген нөмірдің өнімі:» + pr); } }
Шығару:
Берілген нөмірдің өнімі: 55
3. Ерекше типтегі еркін нысанның даналық әдісіне сілтеме жасау әдісі
import java.util.Arrays; public class Үлгі { public static void main (String [] арг) { String [] stringArray = {«Steve», «Rick», «Aditya», «Negan», «Lucy», «Sansa», «Jon»); / * Кездейсоқ дана әдісіне сілтеме жасау тәсілі * нақты түрдегі объект * / Arrays.sort (stringArray, String :: compareToIgnoreCase); (String str: stringArray) үшін { System.out.println (str); }} }
Шығару:
Aditya Джон Люси Неган Рик Санса Стив
4. Конструкторға сілтеме жасау әдісі
@FunctionalInterface интерфейс MyInterface { Сәлемдесу көрсету (String say); } сынып Hello { көпшілік Сәлем (String say) { System.out.print (айталық); } } public class Үлгі { public static void main (String [] арг) { // Конструкторға арналған әдіс сілтемесі MyInterface ref = Сәлем: жаңа; ref.display («Сәлем әлем!»); } }
Шығару:
Сәлем Әлем!
Пікір қалдыру Жауапты