jeg har lige set episode 21 af java serien her på nemprogrammering.dk
hvor vi lære om public private og protected.
i de tidligere episoder har vi lært om objekter og sådan,
så vi har før lavet en klasse der hed "bog" hvor i vi lavede nogle variabler som vi skulle lave metoder til at "set" og "get",
og her i episode 21 er øvelsen til sidst at vi går ind i den klasse og laver vores variabler public private eller protected, så det har jeg gjort og min bog klasse ser nu sådan her ud:
Kode: Vælg alt
public class bog{
protected int sider = 0;
protected double pris = 0.0;
protected String navn;
protected String forfatter;
//Set Metoder:
public void setSider(int sider){
this.sider = sider;
}
public void setPris(double pris){
this.pris = pris;
}
public void setNavn(String navn){
this.navn = navn;
}
public void setForfatter(String forfatter){
this.forfatter = forfatter;
}
//Get Metoder:
public int getSider(){
return sider;
}
public double getPris(){
return pris;
}
public String getForfatter(){
return forfatter;
}
//Andre Metoder:
protected void info(){
System.out.println(navn + " af " + forfatter + " ~ " + pris + "DKK");
}
}
men så bare for at teste det, prøvede jeg alligevel at kalde "info" metoden fra "bog" klassen:
Kode: Vælg alt
public class main {
public static void main(String[] args){
bog bog0 = new bog();
bog0.info();
}
}
og, af en eller anden grund virker det fint? burde jeg ikke få en error som siger at min main ikke har adgang til "info" metoden i "bog" klassen fordi den er protected og kun den og dens sub klasse har adgang til det???