Heim > 类库下载 > java类库 > Hauptteil

Analyse von Java-Modifikatoren

巴扎黑
Freigeben: 2016-11-26 09:14:07
Original
1642 Leute haben es durchsucht

Liebe Zuschauer, heute werden wir verwandte Themen zu Zugriffsmodifikatoren in Java diskutieren. Dies ist auch eine häufige Frage in Interviews.
Einfach ausgedrückt werden Zugriffsmodifikatoren von Codeschreibern erstellt, um zu unterscheiden, wann auf den Code zugegriffen werden kann und wann nicht. Zugriffsbeschränkungen werden in Java in vier Kategorien unterteilt: freundlich (der sogenannte Standardtyp), öffentlich, privat und geschützt.
Heute werfen wir einen Blick auf die beiden Kategorien, die schwieriger zu unterscheiden sind, nämlich freundlich und geschützt.
Schauen wir uns zunächst „freundlich“ an. Wenn wir vor einem Mitglied keine Modifikatoren hinzufügen, ist die Zugriffsebene des Mitglieds die Standardebene. Zu diesem Zeitpunkt können andere Klassen im selben Paket wie die Klasse auf diese Mitglieder zugreifen, während Klassen in anderen Paketen nicht darauf zugreifen können diese Mitglieder wie folgt:

Java-Code

package com.a1;

/**

* A gehört zum Paket com.a1

* @author Will

*

*/

public class A {

//Mitglieder haben die Standardzugriffsebene

int i;

void print(){

System.out.println("i:"+i+";str:"+str);

}

}


Java-Code

package com.a1;

/**

* testA1 gehört zu com.a1

* @author Will

*

*/

public class testA1 {

public static void main( String[] args) {

//Da testA1 und A zum selben Paket gehören, können Sie auf freundliche Mitglieder zugreifen

A a=new A();

System .out.println(a.i);

System.out.println(a.str);

a.print();

}

Paket com.b1;


import com.a1

/**

* testA2 gehört zu com.b1

*

* @author Will

*

*/

public class testA2 {

public static void main(String[] args) {

// Da testA2 und A nicht zum selben Paket gehören, kann nicht auf befreundete Mitglieder zugegriffen werden

// Das Entfernen der Anmerkung führt zu einem Fehler

A a = new A( ); ; Klassendateien können die befreundeten Mitglieder der anderen aufrufen, da alle Dateien standardmäßig zum Standardpaket gehören, sodass sie die befreundeten Mitglieder der anderen aufrufen können.

Als nächstes werfen wir einen Blick auf den geschützten Typ. Dieser Typ ist dem freundlichen (d. h. Standard-)Typ sehr ähnlich, der einzige Unterschied besteht in der Vererbung. Einfach ausgedrückt: Solange die Klassendatei nicht zum selben Paket gehört (einschließlich Vererbung), können andere Klassendateien nicht auf benutzerfreundliche Mitglieder zugreifen, aber wenn die Klasse erbt, spielt es keine Rolle, ob sie zum selben Paket gehört Aufgrund der Vererbung können Unterklassen auf geschützte Mitglieder der übergeordneten Klasse zugreifen.

Java-Code

Paket com.a1;

/**

* A gehört zum Paket com.a1

* i, str ist ein freundlicher Typ

* j, str1 ist ein geschützter Typ

* @author Wird

*


*/

öffentliche Klasse A {

int i;

protected int j;

public A(){

}

}

void print(){

System.out.println("i:"+ i+ ";str:"+str);

}

protected void print(int k){

System.out.println(" j :"+j+";str1:"+str1);                                                          🎜>

öffentlicher KlassentestA1 {

public static void main(String[] args ) {

// Da testA1 und A zum selben Paket gehören, können Sie auf befreundete Mitglieder zugreifen

// Das können Sie auch Zugriff auf geschützte Mitglieder


A a= new A();

System.out.println(a.i); ;

System.out.println(a.str1);

a.print();

}

}

Java-Code

Paket com.b1;

import org.junit.Test;

import com.a1.A;

public class ExtendsA erweitert A{ > @Test

Public void test () {

Extendsa Extendsa = New Extendsa ();

// Bei Vererbung können freundliche Mitglieder der übergeordneten Klasse nicht aufgerufen werden

//Das Entfernen des Kommentars führt zu einem Fehler

//System.out.println(extendsA.i);

// System.out.println(extendsA. str);                                                    1);

erweitertA. drucken (1);


}

}

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!