• 1
  • 2
2008-01-30, 22:31
  #13
Medlem
Tooners avatar
Citat:
Ursprungligen postat av lamp83
Nja... klasser i samma paket kommer inte åt protected. Det gör endast subklasser... och inom klassen såklart.

Där har du fel. Bara att prova.

Alla klasser i samma paket kommer komma åt alla protected variabler och metoder.
Citera
2008-01-30, 22:33
  #14
Medlem
Citat:
Ursprungligen postat av Tooner
Där har du fel. Bara att prova.

Alla klasser i samma paket kommer komma åt alla protected variabler och metoder.
Jag provade och kom inte åt....

Edit.. nu kom jag åt
__________________
Senast redigerad av lamp83 2008-01-30 kl. 22:37.
Citera
2008-01-30, 22:43
  #15
Medlem
Tooners avatar
Här är ett exempel:

Första klassen
Kod:
package paket1;

public class 
ProtectedTest11{
    public static 
void main(String[] args){
        
ProtectedTest12 test1 = new ProtectedTest12();
        
paket2.ProtectedTest2 test2 = new paket2.ProtectedTest2();

        
test1.test();
        
test2.test();
    }

En annan klass i samma paket.
Kod:
package paket1;

public class 
ProtectedTest12 {
    protected 
void test(){
        
System.out.println("test1");
    }

Tredje klassen i ett annat paket
Kod:
package paket2;

public class 
ProtectedTest2 {

    protected 
void test(){
        
System.out.println("test2");
    }


Det här kommer inte gå igenom kompileringen på grund av att test2.test() inte är visible. Kommenteras däremot den raden ut (eller om metoden ändras till public) fungerar programmet som förväntat

Det vill säga första klassenkommer åt den protected metoden som finns i en annan klass i samma paket, men inte den protected som finns i ett annat paket.
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in