Skip to content

Commit 1f66ada

Browse files
committed
.
.
1 parent d8cf156 commit 1f66ada

File tree

6 files changed

+67
-29
lines changed

6 files changed

+67
-29
lines changed
+10-29
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,16 @@
11
package j008_Modifiers;
2-
import j007_Modifiers.ClassA;
32

4-
public class ClassD extends ClassA {
3+
public class ClassD extends ClassC {
54
public void testAccess() {
6-
ClassC objC = new ClassC();
5+
// Accesos a ClassA desde una subclase en un paquete diferente a través de ClassC
6+
this.publicVar = 1; // Accesible
7+
this.protectedVar = 2; // Accesible
8+
// this.defaultVar = 3; // No accesible fuera del paquete
9+
// this.privateVar = 4; // No accesible fuera de ClassA
710

8-
// Accesos desde una subclase en el mismo paquete
9-
objC.publicVar = 1; // Accesible
10-
objC.protectedVar = 2; // Accesible
11-
objC.defaultVar = 3; // Accesible
12-
// objC.privateVar = 4; // No accesible fuera de ClassC
13-
14-
objC.publicMethod(); // Accesible
15-
objC.protectedMethod(); // Accesible
16-
objC.defaultMethod(); // Accesible
17-
// objC.privateMethod(); // No accesible fuera de ClassC
18-
19-
// Accesos a ClassA desde un paquete diferente
20-
ClassA objA = new ClassA();
21-
22-
objA.publicVar = 1; // Accesible
23-
//objA.protectedVar = 2; // No accesible fuera del paquete, incluso para subclases
24-
// objA.defaultVar = 3; // No accesible fuera del paquete
25-
// objA.privateVar = 4; // No accesible fuera de ClassA
26-
27-
objA.publicMethod(); // Accesible
28-
/*
29-
objA.protectedMethod(); // No accesible fuera del paquete, incluso para subclases
30-
objA.defaultMethod(); // No accesible fuera del paquete
31-
objA.privateMethod(); // No accesible fuera de ClassA
32-
*/
11+
this.publicMethod(); // Accesible
12+
this.protectedMethod(); // Accesible
13+
// this.defaultMethod(); // No accesible fuera del paquete
14+
// this.privateMethod(); // No accesible fuera de ClassA
3315
}
3416
}
35-

intelliJ/src/j009_Modifiers_Main/Main.java

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
package j009_Modifiers_Main;
2+
import j007_Modifiers.ClassA;
23
import j007_Modifiers.ClassB;
34
import j008_Modifiers.ClassD;
45

@@ -11,5 +12,6 @@ public static void main(String[] args) {
1112
System.out.println("\nTesting access in j008_Modifiers");
1213
ClassD objD = new ClassD();
1314
objD.testAccess();
15+
1416
}
1517
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package j010_Inheritance;
2+
import j010_Inheritance.ClassA;
3+
public class Class2 extends ClassA {
4+
public void test(){
5+
protectedVar = 3;
6+
System.out.println("protectedVar");
7+
}
8+
9+
}
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package j010_Inheritance;
2+
3+
public class ClassA {
4+
protected int protectedVar;
5+
public int publicVar;
6+
7+
protected void protectedMethod() {
8+
System.out.println("Protected method in ClassA");
9+
}
10+
11+
public void publicMethod() {
12+
System.out.println("Public method 2 in ClassA");
13+
}
14+
}
+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package j011_Inheritance;
2+
import j010_Inheritance.ClassA;
3+
4+
public class ClassB extends ClassA {
5+
public void testAccess() {
6+
// Acceso a miembros protegidos de ClassA desde una subclase en un paquete diferente
7+
this.protectedVar = 10; // Accesible
8+
protectedVar = 3;
9+
System.out.println("protectedVar: " + this.protectedVar);
10+
11+
this.protectedMethod(); // Accesible
12+
13+
ClassA ObjA = new ClassA();
14+
// Los miembros protegidos de ClassA en la subclase ClassB solo a través de la herencia, no a través de una instancia de la superclase.
15+
// ObjA.protectedVar = 11; // No accesible
16+
// objA.protectedMethod(); // No accesible
17+
ObjA.publicMethod();
18+
ObjA.publicVar = 1;
19+
20+
21+
22+
}
23+
}
+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package j012_Inheritance;
2+
import j011_Inheritance.ClassB;
3+
4+
public class Main {
5+
public static void main(String[] args) {
6+
ClassB objB = new ClassB();
7+
objB.testAccess();
8+
}
9+
}

0 commit comments

Comments
 (0)