2024. április 27., szombat

Gyorskeresés

Útvonal

Cikkek » Számtech rovat

Java hozzáférés-vezérlés II/I

  • (f)
  • (p)
Írta: |

Java-ban négy hozzáférési szint (access level) van, de csak három hozzáférés-módosító...

[ ÚJ TESZT ]

Java-ban négy hozzáférési szint (access level) van, de csak három hozzáférés-módosító (access modifier). Ezek használata néha még a gyakorlott programozók számára se mindig teljesen világos.

A módosítók : protected, private, public
A szintek ugyanezek, plussz még az, amikor nem írunk módosítót, ez az alap (default), vagy másképpen csomag-szint (package level).

A szintek erősség szerinti sorrendben a leggyengébbel kezdve: public, [alap],protected, private.

Mit "védünk" a hozzáférési szintekkel? Osztályokat, metódusokat és változókat, a módosítókat is ezek deklarációi elé kell írnunk.

Kezdjük az osztályokhoz való hozzáférési szintekkel.

A class szó elé csak a public módosító kerülhet, az "alap"-pal együtt így összesen két szinten szabályozhatjuk a "hozzáférést". Osztályoknál ez egyszerűen a láthatóság, azaz "ki" láthat egy osztályt. Ha "valaki" nem lát egy osztályt, azzal nem csinálhat semmit, tehát nem példányosíthatja, nem terjesztheti ki, stb. Olyan, mintha számára nem is létezne.

Ha a public módosítót használjuk, akkor bármilyen másik osztály láthatja az osztályunkat.
Ha nincs módosító, akkor csak ugyanabban a csomagban (package) levő osztályok látják az osztályunkat.

1 //file: A.java
2 package p1;
3 import p2.*;

4 public class A {
5 public A(){
6 B b = new B();
7 C c = new C();
8 }
9 }
10 //file: B.java
11 package p1;

12 class B {
13 public B(){
14 A a = new A();
15 }
16 }
17 //file: C.java
18 package p2;
19 import p1.*;

20 public class C {
21 public C() {
22 A a = new A();
23 B b = new B();
24 }
25 }

Melyik sorban jelez hibát a java fordító?

Utóirat:
A hozzáférés-vezérlés mélyebb szintjével (metódusok, változók) nemsokára jelentkezem.

Utóirat2:
A csomagokról (package) szintén írok egy összefoglalót.

Azóta történt

Előzmények

  • Hibernate őű-hiba

    Egy apró programot fejlesztettem Java-ban, gondoltam JDBC helyett tanulok valami kényelmesebbet.

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.