Junior — Middle
Որ բաղադրիչները կարող են լինել աբստրակտ դասում, բայց արգելված են ինտերֆեյսում։
sobes.tech AI
Պատասխան AI-ից
Java-ում ամփոփ դասը կարող է պարունակել հետևյալ բաղադրիչները, որոնք արգելված են ինտերֆեյսում (հատկապես Java 8-ից առաջ դասական տարբերակներում):
- Կայքի դաշտեր (մեկնարկային փոփոխականներ) — ամփոփ դասը կարող է պարունակել կոնկրետ արժեքներով դաշտեր, մինչդեռ ինտերֆեյսը չի կարող ունենալ ոչ ստատիկ դաշտեր:
- Կառուցողներ — ամփոփ դասը կարող է ունենալ կառուցողներ վիճակի սկզբնականացման համար, իսկ ինտերֆեյսները կառուցողներ չունեն:
- Կարգավորումներ (Java 8-ից առաջ) — նախկինում, ինտերֆեյսները կարող էին պարունակել միայն ամփոփված մեթոդներ, իսկ ամփոփ դասերը՝ ինչպես ամփոփված, այնպես էլ կոնկրետ մեթոդներ:
Java 8-ից հետո, ինտերֆեյսները կարող են պարունակել ըստ նախնական (default) և ստատիկ մեթոդների, բայց դեռ չեն կարող ունենալ ոչ ստատիկ դաշտեր և կառուցողներ:
Օրինակ՝ ամփոփ դաս, որը պարունակում է դաշտ և կառուցող:
public abstract class Animal {
protected String name; // դաշտ
public Animal(String name) { // կառուցող
this.name = name;
}
public abstract void makeSound();
public void printName() { // կոնկրետ մեթոդ
System.out.println("Name: " + name);
}
}