P30Wewn.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
// P30Wewn.java package p30wewn; import java.util.*; public class P30Wewn { // klasa wewnętrzna class Pierwsza { private int i = 10; public int dajI() { return i; } } // klasa wewnętrzna class Druga { private String tekst; Druga(String x) { tekst = x; } public String toString() { return tekst; } } // koniec klas wewnętrznych public Druga funkcjaD(String s) { return new Druga(s); } public static void main(String[] args) { P30Wewn p = new P30Wewn(); // Obydwa zapisy poprawne tylko w metodach klasy // zawierających klasy wewnętrzne P30Wewn.Druga d1 = p.funkcjaD("Ala"); Druga d2 = p.funkcjaD("Ula"); System.out.println(d1 + " " + d2); TakaSobie a = new TakaSobie(); System.out.println(a); } } class TakaSobie { P30Wewn x = new P30Wewn(); P30Wewn.Druga d1 = x.funkcjaD("Tola"); //Błąd //Druga d1 = x.funkcjaD("Tola"); public String toString() { return d1.toString(); } } |
---|
P31Wewn.java
1 2 3 4 5 6 7 |
// Interfejs 1 - InterPierwszy.java package p31wewn; public interface InterPierwszy { String dajTekst(); } |
---|
1 2 3 4 5 6 7 |
// Interfejs 2 - InterDrugi.java package p31wewn; public interface InterDrugi { public int dajInt(); } |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
// P31Wewn.java package p31wewn; public class P31Wewn { protected class ZPierwszego implements InterPierwszy { private String tekst; ZPierwszego(String x) { tekst = x; } public String dajTekst() { return tekst; } } private class ZDrugiego implements InterDrugi { private int k = 100; public int dajInt() { return k; } } public InterPierwszy dajPierwszy(String s) { return new ZPierwszego (s); } public InterDrugi dajDrugi() { return new ZDrugiego(); } } class Testujaca { public static void main(String[] args) { P31Wewn a = new P31Wewn(); InterPierwszy x = a.dajPierwszy("Ula"); InterDrugi y = a.dajDrugi(); String z = x.dajTekst(); System.out.println(z); P31Wewn.ZPierwszego w = a.new ZPierwszego("Tola"); // Błąd kompilacji //P31Wewn.ZDrugiego x = a.new ZDrugiego(); // } } |
---|
P32Anonim.java
1 2 3 4 5 6 7 |
// Interfejs 2 - InterDrugi.java package p31wewn; public interface InterDrugi { public int dajInt(); } |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
// P32Anonim.java package p32anonim; public class P32Anonim { private class DoAnonim implements InterDrugi { private int k = 100; public int dajInt() { return k; } } public InterDrugi dajDrugi() { return new DoAnonim(); } public static void main(String[] args) { P32Anonim a = new P32Anonim(); InterDrugi y = a.dajDrugi(); System.out.println(y.dajInt()); } } |
---|
P33Anonim.java
1 2 3 4 5 6 7 |
// Interfejs 2 - InterDrugi.java package p31wewn; public interface InterDrugi { public int dajInt(); } |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
// P33Anonim.java package p33anonim; public class P33Anonim { public InterDrugi dajDrugi() { return new InterDrugi()/*tu średnik*/ { private int k = 100; public int dajInt() { return k; } }; } public static void main(String[] args) { P33Anonim a = new P33Anonim(); InterDrugi y = a.dajDrugi(); System.out.println(y.dajInt()); } } // private class DoAnonim implements InterDrugi { // private int k = 100; // public int dajInt(){ // return k; // } // } // public InterDrugi dajDrugi() { // return new DoAnonim(); // } |
---|
P34Anonim.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// BazowaJeden.java package p34anonim; public abstract class BazowaJeden { float x; BazowaJeden(float k) { x = k; } public float dajK() { return x; } abstract String dajTekst(); } |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
// P34Anonim.java package p34anonim; public class P34Anonim { private class Zbazowej extends BazowaJeden { private String tekst = "Ala"; Zbazowej(float x) { super(x); } public String dajTekst() { return tekst; } } public BazowaJeden dajBazowa(float x) { return new Zbazowej(x); } public static void main(String[] args) { P34Anonim a = new P34Anonim(); BazowaJeden y = a.dajBazowa(4.5f); System.out.println(y.dajTekst() + " " + y.dajK()); } } |
---|
P35Anonim.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// BazowaJeden.java package p34anonim; public abstract class BazowaJeden { float x; BazowaJeden(float k) { x = k; } public float dajK() { return x; } abstract String dajTekst(); } |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
// P35Anonim.java package p35anonim; public class P35Anonim { public BazowaJeden dajBazowa(float x) { // Przekazanie argumentu do konstruktora klasy bazowej return new BazowaJeden (x) { private String tekst = "Ala"; public String dajTekst() { return tekst; } public float dajK() { return super.dajK(); } }; } public static void main(String[] args) { P35Anonim a = new P35Anonim(); BazowaJeden y = a.dajBazowa(4.5f); System.out.println(y.dajTekst() + " " + y.dajK()); } } // private class Zbazowej extends BazowaJeden // { // private String tekst = "Ala"; // Zbazowej(float x) // { // super(x); // } // public String dajTekst() { return tekst; } // } // public BazowaJeden dajBazowa(float x) // { // return new Zbazowej(x); // } |
---|
P36Anonim.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// BazowaJeden.java package p34anonim; public abstract class BazowaJeden { float x; BazowaJeden(float k) { x = k; } public float dajK() { return x; } abstract String dajTekst(); } |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
// P36Anonim.java package p36anonim; public class P36Anonim { //Błąd //public BazowaJeden dajBazowa(float x, String y) public BazowaJeden dajBazowa(float x, final String y) { // Przekazanie argumentu do konstruktora klasy bazowej return new BazowaJeden (x) { private String tekst = y; public String dajTekst() { return tekst; } public float dajK() { return super.dajK(); } }; } public static void main(String[] args) { P36Anonim a = new P36Anonim(); BazowaJeden y = a.dajBazowa(4.5f, "Tola"); System.out.println(y.dajTekst() + " " + y.dajK()); } } |
---|
P37Anonim.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// BazowaJeden.java package p34anonim; public abstract class BazowaJeden { float x; BazowaJeden(float k) { x = k; } public float dajK() { return x; } abstract String dajTekst(); } |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
// P37Anonim.java package p37anonim; public class P37Anonim { //Błąd //public BazowaJeden dajBazowa(float x, String y) public BazowaJeden dajBazowa(float x, final int y) { // Przekazanie argumentu do konstruktora klasy bazowej return new BazowaJeden (x) { private String tekst; // Inicjalizacja instacji konstruktor { if( y > 10) tekst = "Ala"; else tekst = "Tola"; } public String dajTekst() { return tekst; } public float dajK() { return super.dajK(); } }; } public static void main(String[] args) { P37Anonim a = new P37Anonim(); BazowaJeden y = a.dajBazowa(4.5f, 5); System.out.println(y.dajTekst() + " " + y.dajK()); BazowaJeden z = a.dajBazowa(4.5f, 15); System.out.println(z.dajTekst() + " " + z.dajK()); } } |
---|