Hej!
Uczę się na własną rękę ze skryptów, książek i wszystkiego co mi wpadnie w ręce javy. Nie mam kogo spytać w związku z tym, więc piszę tutaj.
Nie wiem dlaczego obiekt trzy, nie godzi się na metodę test(), która jest zdeklarowana i poprawna.
Proszę o pomoc.
klasa główna:
package projekt;
public class Projekt {
public static void main(String[] args) throws Exception {
NewClass2 trzy= new NewClass2();
//tu mam problem
trzy.test();
pauza();
}
static void pauza()throws Exception
{
System.out.print("nacisknij enter...");
System.in.read();
}
}
pozostałe klasy:
1)
package projekt;
class NewClass {
String Nazwa="raz";
String s(){
return "1";
}
}
package projekt;
class NewClass2 extends NewClass{
String Nazwa="dwa";
@Override
String s(){
return"2";
}
}
package projekt;
class NewClass3 extends NewClass2{
String Nazwa="trzy";
String s() {
return"3";
}
void test(){
java.io.PrintWriter stdout = new java.io.PrintWriter(System.out,true);
stdout.println("s()=\t\t\t"+s());
stdout.println("Nazwa=\t\t\t"+Nazwa);
stdout.println("super.s()=\t\t\t"+super.s());
stdout.println("super.Nazwa=\t\t\t"+super.Nazwa);
stdout.println("((NewClass2)this).s()=\t\t\t"+((NewClass2)this).s());
stdout.println("((NewClass2)this).Nazwa=\t\t\t"+((NewClass2)this).Nazwa);
stdout.println("((NewClass)this).s()=\t\t\t"+((NewClass)this).s());
stdout.println("((NewClass).this).Nazwa=\t\t\t"+((NewClass)this).Nazwa);
}
}