Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Java] Dziedziczenie

Ostatnio zmodyfikowano 2011-01-20 15:25
Autor Wiadomość
96microsoft
Temat założony przez niniejszego użytkownika
[Java] Dziedziczenie
» 2011-01-14 15:42:45
Witam. Zacząłem uczyć się Języka JAva. Jestem przy dziedziczeniu. Zrobiłem programik tak aby poćwiczyć ale przy dostępie z klasy która dziedziczy do liczby czyli chcem mieć dostęp z klasa2 do zmiennej w klasie o nazwie Qwerty, Ale wywala mi wartość 0 przy dostępie do niej.
oto kod. W komentarzu zaznaczyłem gdzie występuje błąd.
package qwerty;


public class Qwerty
{
int liczba3;
  //===================================================================
    public static void main(String[] args)
    {
       
        klasa2 a=new klasa2(10);
        Qwerty b=new Qwerty(20);
        b.wys();
        a.wyswietl();
        a.wys();
        System.out.println(" ==========================================  ");
         a.wyswietl1();
         b.wys1();
         a.wys1();//BŁAD!! powinno być 20 a wyświetla 0.:/
        a.wyswietl1();
        b.wys1();
         System.out.println("++++++++++++++++++++++++++++++++++++++++++");
        
         a.wyswietl();
         b.wys();
         a.wys();
        
        
       
    }
   
    //======================================================
void wys()
{
    System.out.println("Główna klasa główna klasa...");
}
Qwerty(){
   
   
}

Qwerty(int a)
{
liczba3=a;
}
void wys1()
{
     System.out.println("w głównej to "+liczba3);
}

}




 class klasa2 extends Qwerty
 {
     int abcd;
     klasa2()
     {}
     klasa2(int a)
     {
   abcd=a;
    
     }
     void wyswietl()
     {
    
     System.out.println("next next next netx...");
    
     }
    
      void wyswietl1()
     {
    
     System.out.println("liczba w next to "+abcd);
    
     }
    
    
 }
Wiem że w moim kodzie panuje "Chaos" ale to na razie początki i był on na spontan pisany bo nie spodziewałem się takiego wyniku. Pozdrawiam.
P-26518
DejaVu
» 2011-01-14 16:50:46
Kod działa prawidłowo. Nie przeciążyłeś metody wyświetlającej by pobierała wartość z innej zmiennej. Druga opcja to złe wywołanie konstruktora, który powinien wyglądać tak:

class klasa2 extends Qwerty
{
    //...
    klasa2( int a )
        : Qwerty( a )
    {
    }
    //...
};
P-26524
Elaine
» 2011-01-14 17:51:42
W Javie? Java nie ma list inicjalizacyjnych. Bardziej poprawnie:

class klasa2 extends Qwerty {
  // ...
  klasa2(int x) {
    super(x);
  }
  // ...
}
P-26528
96microsoft
Temat założony przez niniejszego użytkownika
» 2011-01-16 15:47:37
Teraz mam inny problem. Chciałbym bawić się grafiką (aplikacjami)w Javie. Ale jak robię zadanie które jest w książce to wyskakują mi błędy przy komentarzach. Wszystko dobrze przepisane  na pewno.



package aplikacja1;
import java.awt.*;
import java.awt.event.*;


//public class Aplikacja1 extends Frame implements WindowListener {

     public  Aplikacja1()
       {

        //  addWindowListener(this);
          setSize(280,140);
          setVisible(true);
          setTitle(" grafa");
          setResizable(false);
         
      
      
       }
       public void paint(Graphics gDC)
       {// gDC,drawString("Pierwsza aplikacja!",60,80);
      
       }
    public static void main(String[] args) {
        //new Aplikacja1();
    }
   // public void windowClosing(WindowEvent e)
    {
    dispose();
   
    }

    public void winodwsClosed(WindowEvent e){}
    public void windowQpened(WindowEvent e){}
      public void windowIconfied(WindowEvent e){}
      public void windowDeiconified(WindowEvent e){}
      public void widnowActived(WindowEvent e){}
      public void windowDeactived(WindowEvent e){}
   
}

P-26610
DejaVu
» 2011-01-16 15:50:01
Przeczytaj log kompilacji - tam jest na pewno napisana przyczyna błędu.
P-26611
96microsoft
Temat założony przez niniejszego użytkownika
» 2011-01-16 16:08:40
Właśnie o to chodzi że niec nie pisze
:/
P-26612
DejaVu
» 2011-01-16 17:33:05
Jak to nic skoro sam napisałeś chwilę wcześniej, że pokazują się błędy?
P-26614
96microsoft
Temat założony przez niniejszego użytkownika
» 2011-01-16 19:04:28
Robię z innego źródła tera aplikację sieciową. z tej strony http://windowshosting.pl/Kurs.Javy..Praktyczne.programowanie.czesc.IV..aplikacje.sieciowe?page=1
Serwer już mam, ale przy zrobieniu klienta przy linijce"
try {
     //  gniazdo=new Socket('localhost',8866);   
      }
catch(UnknownHostException e)
                                       {   System.out.println("Nieznana nazwa hosta.");   }
 catch(IOException e)
                                       {   System.out.println("Nie można utworzyć gniazda klienta.");   }
występuje wykrzyknij. Dlaczego?? po kompilacji wyskakuje mi na dole napis na czerwono.
"Cancelled by user.
BUILD FAILED (total time: 3 seconds)"
P-26624
« 1 » 2
  Strona 1 z 2 Następna strona