6java Access Mod-WPS Office
6java Access Mod-WPS Office
aAccessModi
fi
ers
I
nthi
stutor
ial
,wewil
ll
ear
naboutt
heJav
aAccessModi
fi
er,
itst
ypes,
andhowt
ouset
hem wi
th
t
hehelpofexampl
es.
Whatar
eAccessModi
fi
ers?
I
nJava,accessmodifi
ersareusedtosett
heaccessi
bil
i
ty(
visibi
l
ity
)ofclasses,i
nter
faces,
v
ari
ables,methods,
constr
uctor
s,datamembers,
andthesettermethods.Forexample,
cl
assAni
mal
{
publ
i
cvoi
dmet
hod1(
){.
..
}
pr
ivat
evoi
dmet
hod2(
){.
..
}
I
ntheabov
eexampl
e,wehav
edecl
ared2met
hods:
met
hod1(
)andmet
hod2(
).Her
e,
met
hod1i
spubl
i
c-Thi
smeansi
tcanbeaccessedbyot
hercl
asses.
met
hod2i
spr
ivat
e-Thi
smeansi
tcannotbeaccessedbyot
hercl
asses.
Not
ethekeywordpubli
candpr
ivat
e.Thesear
eaccessmodi
fi
ersi
nJav
a.Theyar
eal
soknown
asvi
sibi
l
itymodi
fi
ers.
Not
e:Youcannotsett
heaccessmodi
fi
erofget
ter
smet
hods.
Ty
pesofAccessModi
fi
er
Bef
orey
oul
ear
naboutt
ypesofaccessmodi
fi
ers,
makesur
eyouknowaboutJav
aPackages.
Ther
ear
efouraccessmodi
fi
erskey
wor
dsi
nJav
aandt
heyar
e:
Modi
fi
er Descr
ipt
ion
Def
aul
tdecl
arat
ionsar
evi
si
bleonl
ywi
thi
nthepackage(
packagepr
ivat
e)
Pr
ivat
edecl
arat
ionsar
evi
si
blewi
thi
nthecl
assonl
y
Pr
otect
ed decl
arat
ionsar
evi
sibl
ewi
thi
nthepackageoral
lsubcl
asses
Publ
i
cdecl
arat
ionsar
evi
si
bleev
ery
wher
e
Def
aul
tAccessModi
fi
er
I
fwedonotexpli
cit
lyspeci
fyanyaccessmodi
fi
erforcl
asses,met
hods,
var
iabl
es,
etc,
thenby
def
aul
tthedef
aul
taccessmodi f
ieri
sconsi
der
ed.Forexample,
packagedef
aul
tPackage;
cl
assLogger{
v
oidmessage(
){
Sy
stem.
out
.pr
int
ln(
"Thi
sisamessage"
);
RunCode
Here,theLoggerclasshasthedefaul
taccessmodifi
er.Andt
heclassisvi
sibl
etoallt
heclasses
thatbelongtothedefaul
tPackagepackage.However
,ifwetr
ytousetheLoggerclassin
anotherclassoutsi
deofdefault
Package,wewil
lgetacompil
ati
onerror.
Pr
ivat
eAccessModi
fi
er
Whenv ar
iabl
esandmet
hodsar
edecl
aredpr
ivat
e,t
heycannotbeaccessedout
sideoft
hecl
ass.
Forexample,
cl
assDat
a{
/
/pr
ivat
evar
iabl
e
pr
ivat
eSt
ri
ngname;
publ
i
ccl
assMai
n{
publ
i
cst
ati
cvoi
dmai
n(St
ri
ng[
]mai
n){
/
/cr
eat
eanobj
ectofDat
a
Dat
ad=newDat
a()
;
/
/accesspr
ivat
evar
iabl
eandf
iel
dfr
om anot
hercl
ass
d.
name="
Progr
ami
z";
RunCode
I
ntheaboveexample,wehavedecl
aredapr
ivat
evar
iabl
enamedname.Whenwer
unt
he
pr
ogram,wewill
getthefol
l
owingerr
or:
Mai
n.j
ava:
18:
err
or:
namehaspr
ivat
eaccessi
nDat
a
d.
name="
Progr
ami
z";
Theer
rori
sgeneratedbecausewear
etr
yingt
oaccesst
hepr
ivat
evar
iabl
eoft
heDat
acl
ass
fr
om t
heMainclass.
Youmightbewonder
ingwhati
fweneedtoaccesst
hosepr
ivat
evar
iabl
es.I
nthi
scase,
wecan
uset
hegetter
sandsett
ersmet
hod.Forexampl
e,
cl
assDat
a{
pr
ivat
eSt
ri
ngname;
/
/get
termet
hod
publ
i
cSt
ri
ngget
Name(
){
r
etur
nthi
s.name;
/
/set
termet
hod
publ
i
cvoi
dset
Name(
Str
ingname){
t
his.
name=name;
publ
i
ccl
assMai
n{
publ
i
cst
ati
cvoi
dmai
n(St
ri
ng[
]mai
n){
Dat
ad=newDat
a()
;
/
/accesst
hepr
ivat
evar
iabl
eusi
ngt
heget
terandset
ter
d.
set
Name(
"Pr
ogr
ami
z")
;
Sy
stem.
out
.pr
int
ln(
d.get
Name(
));
RunCode
Out
put
:
Thenamei
sPr
ogr
ami
z
I
ntheabov
eexampl e,wehaveapri
vat
ev ar
iabl
enamedname.Inor
dert
oaccesst
hevari
abl
e
f
rom t
heoutercl
ass,wehaveusedmethods:getName(
)andset
Name()
.Thesemet
hodsare
cal
l
edget
terandset
teri
nJav
a.
Her
e,wehaveusedthesett
ermethod(set
Name(
))t
oassi
gnv
aluet
othev
ari
abl
eandt
heget
ter
method(
get
Name())toaccesst
hev ar
iabl
e.
Wehav
eusedthi
skeywordinsi
detheset
Name()t
oref
ert
othev
ari
abl
eoft
hecl
ass.Tol
ear
n
mor
eonthi
skeywor
d,vi
sitJavathi
sKeywor
d.
Note:
Wecannotdeclareclassesandint
erf
acespri
vat
einJav
a.However,
thenest
edcl
asses
canbedecl
aredpr
ivate.Tolearnmore,v
isi
tJavaNest
edandInnerCl
ass.
Pr
otect
edAccessModi
fi
er
Whenmet hodsanddat
amember saredeclar
edpr
otect
ed,
wecanaccesst
hem wi
thi
nthesame
packageaswellasf
rom subcl
asses.Forexampl
e,
cl
assAni
mal
{
/
/pr
otect
edmet
hod
pr
otect
edv
oiddi
spl
ay(
){
Sy
stem.
out
.pr
int
ln(
"Iam anani
mal
")
;
cl
assDogext
endsAni
mal
{
publ
i
cst
ati
cvoi
dmai
n(St
ri
ng[
]ar
gs){
/
/cr
eat
eanobj
ectofDogcl
ass
Dogdog=newDog(
);
/
/accesspr
otect
edmet
hod
dog.
displ
ay(
);
RunCode
Out
put
:
Iam anani
mal
I
ntheaboveexample,
wehaveaprot
ect
edmet hodnameddi
splay
()i
nsidetheAnimalcl
ass.
TheAni
mal cl
assi
sinher
it
edbyt
heDogclass.Tolear
nmoreabouti
nheri
tance,
visi
tJava
I
nher
it
ance.
Wethencr
eat
edanobjectdogoftheDogcl
ass.Usi
ngt
heobj
ectwet
ri
edt
oaccesst
he
pr
otect
edmet
hodoftheparentcl
ass.
Si
nceprot
ectedmethodscanbeaccessedfrom t
hechi
l
dcl
asses,
wear
eabl
etoaccesst
he
methodofAnimal
classfr
om t
heDogcl ass.
Not
e:Wecannotdecl
arecl
assesori
nter
facespr
otect
edi
nJav
a.
Publ
i
cAccessModi
fi
er
Whenmet hods,var
iabl
es,cl
asses,
andsoonar edecl
aredpubl
ic,thenwecanaccesst
hem
f
rom any
wher e.Thepubli
caccessmodif
ierhasnoscoperestr
ict
ion.Forexampl
e,
/
/Ani
mal
.j
avaf
il
e
/
/publ
i
ccl
ass
publ
i
ccl
assAni
mal
{
/
/publ
i
cvar
iabl
e
publ
i
cintl
egCount
;
/
/publ
i
cmet
hod
publ
i
cvoi
ddi
spl
ay(
){
Sy
stem.
out
.pr
int
ln(
"Iam anani
mal
.
");
Sy
stem.
out
.pr
int
ln(
"Ihav
e"+l
egCount+"l
egs.
")
;
/
/Mai
n.j
ava
publ
i
ccl
assMai
n{
publ
i
cst
ati
cvoi
dmai
n(St
ri
ng[
]ar
gs){
/
/accessi
ngt
hepubl
i
ccl
ass
Ani
mal
ani
mal
=newAni
mal
()
;
/
/accessi
ngt
hepubl
i
cvar
iabl
e
ani
mal
.l
egCount=4;
/
/accessi
ngt
hepubl
i
cmet
hod
ani
mal
.di
spl
ay(
);
RunCode
Out
put
:
Iam anani
mal
.
Ihav
e4l
egs.
Her
e,
Thepubl
i
ccl
assAni
mal
isaccessedf
rom t
heMai
ncl
ass.
Thepubl
i
cvar
iabl
elegCounti
saccessedf
rom t
heMai
ncl
ass.
Thepubl
i
cmet
hoddi
spl
ay(
)isaccessedf
rom t
heMai
ncl
ass.
AccessModi
fi
ersSummar
izedi
nonef
igur
e
Accessi
bil
i
tyofal
lAccessModi
fi
ersi
nJav
a
Accessi
bil
i
tyofal
lAccessModi
fi
ersi
nJav
a
Accessmodif
iersaremainl
yusedforencapsulat
ion.I
tcanhelpustocont
rol
whatpartofa
pr
ogram canaccessthemember sofaclass.Sothatmisuseofdat
acanbeprev
ented.Tolear
n
moreaboutencapsulat
ion,
visi
tJav
aEncapsulati
on.