జావా 8కి ముందు, జావాలోని ఇంటర్ఫేస్లు అబ్స్ట్రాక్ట్ మెథడ్ డిక్లరేషన్లను మాత్రమే కలిగి ఉండేవి. అయినప్పటికీ, జావా 8లో డిఫాల్ట్ పద్ధతులను ప్రవేశపెట్టడంతో, ఇంటర్ఫేస్లు ఇప్పుడు పద్ధతుల కోసం అమలును కలిగి ఉంటాయి.
డిఫాల్ట్ పద్ధతి అనేది డిఫాల్ట్ అమలుతో ఇంటర్ఫేస్లో నిర్వచించబడిన పద్ధతి. డిఫాల్ట్ పద్ధతులను డిఫెండర్ పద్ధతులు లేదా వర్చువల్ పొడిగింపు పద్ధతులు అని కూడా అంటారు. ఇంటర్ఫేస్ యొక్క ప్రస్తుత అమలులను విచ్ఛిన్నం చేయకుండా ఇంటర్ఫేస్కు కొత్త కార్యాచరణను జోడించడానికి ఈ పద్ధతులు ఉపయోగించబడతాయి.
default
మెథడ్ డెఫినిషన్ని అనుసరించే కీవర్డ్ని ఉపయోగించడం ద్వారా ఇంటర్ఫేస్లో డిఫాల్ట్ పద్ధతిని నిర్వచించవచ్చు . ఉదాహరణకు, కింది ఇంటర్ఫేస్ను పరిగణించండి:
csharppublic interface Vehicle {
void start();
void stop();
default void honk() {
System.out.println("Honking the horn");
}
}
honk()
ఈ ఇంటర్ఫేస్లో, కన్సోల్కు సందేశాన్ని ప్రింట్ చేసే డిఫాల్ట్ పద్ధతిని మేము నిర్వచించాము . ఈ పద్దతి డిఫాల్ట్ ఇంప్లిమెంటేషన్ని కలిగి ఉంది, ఇది ఏదైనా అమలు చేసే తరగతి ద్వారా భర్తీ చేయబడుతుంది.
సాధారణ స్టాటిక్ మెథడ్ డెఫినిషన్ల వలె అదే వాక్యనిర్మాణాన్ని ఉపయోగించి, ఇంటర్ఫేస్లలో స్టాటిక్ పద్ధతులను నిర్వచించడానికి కూడా కీవర్డ్ని default
ఉపయోగించవచ్చు. ఉదాహరణకి:
జావాpublic interface Calculator {
int add(int a, int b);
static int multiply(int a, int b) {
return a * b;
}
}
multiply()
ఈ ఉదాహరణలో, మేము ఇంటర్ఫేస్లో స్టాటిక్ పద్ధతిని నిర్వచించాము Calculator
. ఇంటర్ఫేస్ యొక్క ఉదాహరణను సృష్టించకుండా ఈ పద్ధతిని పిలుస్తారు.
జావా 8లోని డిఫాల్ట్ పద్ధతులు అనేక ప్రయోజనాలను కలిగి ఉన్నాయి, వాటితో సహా:
- ఇప్పటికే ఉన్న ఇంప్లిమెంటేషన్లను విచ్ఛిన్నం చేయకుండా ఇప్పటికే ఉన్న ఇంటర్ఫేస్లకు కొత్త కార్యాచరణను జోడించడానికి ఒక మార్గాన్ని అందించడం.
- తరగతులను అమలు చేయడం ద్వారా తిరిగి ఉపయోగించబడే డిఫాల్ట్ అమలును అందించడం ద్వారా కోడ్ డూప్లికేషన్ను తగ్గించడం.
- అన్ని అమలు తరగతులకు మార్పులు అవసరం లేకుండా ఇంటర్ఫేస్లు కాలక్రమేణా అభివృద్ధి చెందడానికి అనుమతించడం.
అయినప్పటికీ, డిఫాల్ట్ పద్ధతులను ఉపయోగించడంలో కొన్ని సంభావ్య లోపాలు కూడా ఉన్నాయి. ఒక సంభావ్య సమస్య ఏమిటంటే, డిఫాల్ట్ పద్ధతుల మధ్య వైరుధ్యాలకు పేరు పెట్టడం మరియు తరగతి పద్ధతులను అమలు చేయడం వంటివి ఊహించని ప్రవర్తనకు దారితీయవచ్చు.
మొత్తంమీద, Java 8లోని డిఫాల్ట్ పద్ధతులు ఉపయోగకరమైన మరియు శక్తివంతమైన లక్షణం, ఇది కోడ్ను మరింత సంక్షిప్తంగా మరియు అనువైనదిగా చేయడంలో సహాయపడుతుంది...