Ֆունկցիոնալ ինտերֆեյսը գործարկելի՞ է:
Ֆունկցիոնալ ինտերֆեյսը գործարկելի՞ է:

Video: Ֆունկցիոնալ ինտերֆեյսը գործարկելի՞ է:

Video: Ֆունկցիոնալ ինտերֆեյսը գործարկելի՞ է:
Video: Դաս 1 - C++ as a Federation of Languages | "Effective C++ Unleashed" դասընթաց 2024, Նոյեմբեր
Anonim

Ա ֆունկցիոնալ ինտերֆեյս է ինտերֆեյս որը պարունակում է միայն մեկ վերացական մեթոդ. Նրանք կարող են ունենալ միայն մեկ գործառույթ ցուցադրելու համար: Runnable , ActionListener, Comparable-ի օրինակներից են ֆունկցիոնալ միջերեսներ. Java 8-ից առաջ մենք պետք է ստեղծեինք անանուն ներքին դասի օբյեկտներ կամ իրականացնեինք այս միջերեսները:

Այստեղ ո՞ր ինտերֆեյսն է ֆունկցիոնալ ինտերֆեյս:

Ա ֆունկցիոնալ ինտերֆեյս է ինտերֆեյս միայն մեկ վերացական մեթոդով. Սա նշանակում է, որ ինտերֆեյս իրականացումը կներկայացնի միայն մեկ վարքագիծ. Օրինակներ ա ֆունկցիոնալ ինտերֆեյս Java-ում են:java.lang. Runnable:

Նաև գիտեք, կարո՞ղ ենք լամբդա օգտագործել առանց ֆունկցիոնալ ինտերֆեյսի: Այն լամբդա արտահայտություն անանուն մեթոդ է (մեթոդ առանց անուն), այսինքն օգտագործված իրականացնելու վերացական մեթոդը ֆունկցիոնալ ինտերֆեյս . Ինչ վերաբերում է ձախ կողմին, նշեք իրականացվող մեթոդի պահանջվող պարամետրը, այն կարող է դատարկ լինի, եթե պարամետր չի պահանջվում:

ո՞րն է ֆունկցիոնալ ինտերֆեյսի կարիքը:

Դրանք կարող են օգտագործվել կոդի բլոկն այլ մեթոդի կամ օբյեկտի փոխանցելու համար: Ֆունկցիոնալ ինտերֆեյս ծառայում է որպես տվյալների տեսակ Lambda արտահայտությունների համար: Քանի որ ա Ֆունկցիոնալ ինտերֆեյս պարունակում է միայն մեկ վերացական մեթոդ, այդ մեթոդի իրականացումը դառնում է կոդ, որը որպես փաստարկ փոխանցվում է մեկ այլ մեթոդի:

Կարո՞ղ է ֆունկցիոնալ ինտերֆեյսը ընդլայնել մեկ այլ ինտերֆեյս:

Ինտերֆեյսը կարող է ընդլայնել մեկ այլ ինտերֆեյս և ընդգրկել Ինտերֆեյս դա է ընդլայնելով մեջ ֆունկցիոնալ և այն չի հայտարարում որևէ նոր վերացական մեթոդ, ապա նորը ինտերֆեյս է նաեւ ֆունկցիոնալ . Արեք աշխատել lambda exp impl-ում

Խորհուրդ ենք տալիս: