Junior
Ի՞նչ են անանուն դասերը և որտեղ են կիրառվում:
sobes.tech AI
Պատասխան AI-ից
Անվանում չունեցող դասը տեղական ներքին դաս է առանց անունի:
-
Դիմումներ:
- GUI հավելվածներում իրադարձության լսիչներ ստեղծելիս (օրինակ, կոճակների համար):
- Ինտերֆեյսների իրականացման կամ աբստրակտ դասերի ընդլայնման համար "տեղում", երբ անհրաժեշտ է միայն մեկ օրինակ և դրա օգտագործումը տեղական է:
- Բազմապտուղ ծրագրավորման մեջ
RunnableկամCallableօրինակներ ստեղծելու համար:
-
Առավելություններ:
- Կրճատում է կոդի ծավալը, երբ դասի կրկնակի օգտագործում չի պահանջվում:
- Պարզ, միանգամյա իրականացումների համար կարդալու հեշտություն:
-
Կամչություններ:
- Կարող է դարձնել կոդը ավելի քիչ ընթեռնելի բարդ իրականացումների համար:
- Չի կարող կրկնակի օգտագործվել:
- Դասի արտաքին դաշտերին մուտքը միայն
finalկամ արդյունավետeffectively finalփոփոխականների միջոցով է, հին Java տարբերակներում:
// Օրինակ `Runnable`-ի համար անանուն դասի օգտագործում
Runnable myRunnable = new Runnable() {
@Override
public void run() {
System.out.println("Անանուն դասի գործարկում:");
}
};
new Thread(myRunnable).start();
// Օրինակ` իրադարձության լսողի համար անանուն դասի օգտագործում (հիպոթետիկ)
// Որոշ UI շրջանակներ այս մոտեցումը օգտագործում են:
//button.setOnAction(new EventHandler<ActionEvent>() {
// @Override
// public void handle(ActionEvent event) {
// System.out.println("Կոճակը սեղմվեց!");
// }
//});