జావాలో, తరగతులు, పద్ధతులు మరియు వేరియబుల్స్ యొక్క ప్రవర్తన మరియు ప్రాప్యతను సవరించడానికి ఉపయోగించే అనేక రకాల మాడిఫైయర్లు ఉన్నాయి. జావాలోని వివిధ రకాల మాడిఫైయర్లు ఇక్కడ ఉన్నాయి:
- యాక్సెస్ మాడిఫైయర్లు: యాక్సెస్ మాడిఫైయర్లు తరగతులు, పద్ధతులు మరియు వేరియబుల్ల ప్రాప్యతను నిర్ణయిస్తాయి. జావాలో నాలుగు యాక్సెస్ మాడిఫైయర్లు ఉన్నాయి: పబ్లిక్, ప్రైవేట్, ప్రొటెక్టెడ్ మరియు డిఫాల్ట్.
- పబ్లిక్: పబ్లిక్ క్లాస్, మెథడ్ లేదా వేరియబుల్ని ప్యాకేజీ వెలుపల సహా కోడ్లో ఎక్కడి నుండైనా యాక్సెస్ చేయవచ్చు.
- ప్రైవేట్: ప్రైవేట్ క్లాస్, మెథడ్ లేదా వేరియబుల్ని ఒకే క్లాస్లో మాత్రమే యాక్సెస్ చేయవచ్చు.
- రక్షితము: రక్షిత తరగతి, పద్ధతి లేదా వేరియబుల్ను ఒకే తరగతి, సబ్క్లాస్లు మరియు అదే ప్యాకేజీలోని ఇతర తరగతులలో యాక్సెస్ చేయవచ్చు.
- డిఫాల్ట్: డిఫాల్ట్ క్లాస్, మెథడ్ లేదా వేరియబుల్ని ఒకే ప్యాకేజీలో మాత్రమే యాక్సెస్ చేయవచ్చు.
- నాన్-యాక్సెస్ మాడిఫైయర్లు: నాన్-యాక్సెస్ మాడిఫైయర్లు తరగతులు, పద్ధతులు మరియు వేరియబుల్ల ప్రవర్తనను సవరిస్తాయి.
- ఫైనల్: తుది తరగతి, పద్ధతి లేదా వేరియబుల్ని పొడిగించడం లేదా భర్తీ చేయడం లేదా మళ్లీ కేటాయించడం సాధ్యం కాదు.
- స్టాటిక్: క్లాస్ యొక్క ఉదాహరణను సృష్టించకుండానే స్టాటిక్ వేరియబుల్ లేదా పద్ధతిని యాక్సెస్ చేయవచ్చు.
- వియుక్త: వియుక్త తరగతి లేదా పద్ధతిని తక్షణమే గుర్తించడం సాధ్యం కాదు. ఏదైనా కాంక్రీట్ సబ్క్లాస్ ద్వారా వియుక్త పద్ధతులు తప్పనిసరిగా అమలు చేయబడాలి.
- సమకాలీకరించబడింది: సమకాలీకరించబడిన పద్ధతిని ఒకేసారి ఒక థ్రెడ్ ద్వారా మాత్రమే యాక్సెస్ చేయవచ్చు, ఇది థ్రెడ్ జోక్యాన్ని నివారిస్తుంది.
- తాత్కాలికం: సీరియలైజేషన్ మరియు డీరియలైజేషన్లో తాత్కాలిక వేరియబుల్ చేర్చబడలేదు.
- అస్థిరత: ఒక అస్థిర చరరాశి దాని విలువ ఎల్లప్పుడూ థ్రెడ్ యొక్క స్టాక్ లేదా రిజిస్టర్లో కాష్ చేయబడకుండా మెయిన్ మెమరీ నుండి చదవబడుతుందని మరియు వ్రాయబడిందని నిర్ధారిస్తుంది.
- స్ట్రిక్ట్ఎఫ్పి మాడిఫైయర్: స్ట్రిక్ట్ఎఫ్పి మాడిఫైయర్ వివిధ ప్లాట్ఫారమ్లలో ఫ్లోటింగ్ పాయింట్ లెక్కలు స్థిరమైన పద్ధతిలో నిర్వహించబడుతుందని నిర్ధారిస్తుంది.
పబ్లిక్ స్టాటిక్ ఫైనల్, ప్రొటెక్టెడ్ అబ్స్ట్రాక్ట్ లేదా ప్రైవేట్ ఫైనల్ స్టాటిక్ వంటి కొన్ని మాడిఫైయర్లను కలిసి ఉపయోగించవచ్చని గమనించండి. ఆర్డర్ పట్టింపు లేదు, కానీ మొదట యాక్సెస్ మాడిఫైయర్లను జాబితా చేయడం సాధారణ పద్ధతి, ఆ తర్వాత యాక్సెస్ కాని మాడిఫైయర్లు...
Example
public class className {
// ...
}
private boolean myFlag;
static final double weeks = 9.5;
protected static final int BOXWIDTH = 42;
public static void main(String[] arguments) {
// body of method
}