java - protected-member zugreifen, die in der abgeleiteten Klasse mit Basis-Klassen-Instanz

Ich erstellte Instanz der Basisklasse in der abgeleiteten Klasse und versucht, Zugriff auf protected-Elemente.

Kann ich auch direkt Zugriff auf protected-member in einer abgeleiteten Klasse ohne Instanziierung der Basis-Klasse.

Basisklasse:

package com.core;

public class MyCollection {

      protected Integer intg;
}

Einer abgeleiteten Klasse im gleichen Paket -

package com.core;

public class MyCollection3 extends MyCollection { 

 public void test(){

  MyCollection mc = new MyCollection();
  mc.intg=1; //Works
 }
}

Einer abgeleiteten Klasse in ein anderes Paket -

package secondary;

import com.core.MyCollection;

public class MyCollection2 extends MyCollection{ 

 public void test(){
  MyCollection mc = new MyCollection();
  mc.intg = 1; //!!! compile time error - change visibility of "intg" to protected
 }
}

Wie es möglich ist, Zugriff auf einen geschützten member einer Basisklasse in eine abgeleitete Klasse, die Instanz der Basis-Klasse abgeleitete Klasse ist auch im gleichen Paket, aber nicht als abgeleitete Klasse ist in verschiedenen Paket?

Wenn ich daneben geschützte member als "statische" dann bin ich in der Lage, Zugriff auf protected member der Basisklasse, die Instanz der Basisklasse in eine abgeleitete Klasse, welche sich in einem anderen Paket.

mögliche Duplikate von Java Protected Access Funktioniert Nicht --- Eigentlich ist das die falsche dupe! Sorry! Dies ist definitiv ein dupe obwohl.
Mach dir keine sorgen, deine IDE nicht machen einen Unterschied bei der Frage wie diese ist über die Semantik der Java-Sprache selbst.
möglich, Duplikat der warum kann ich nicht den Zugriff auf geschützte java-Methode auch gedacht, ich habe erweitert die Klasse?

InformationsquelleAutor Tarun | 2010-06-30

Schreibe einen Kommentar