[Java] Dziedziczenie
Ostatnio zmodyfikowano 2011-01-20 15:25
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. |
|
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 )
{
}
//...
}; |
|
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);
}
// ...
} |
|
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){} }
|
|
DejaVu |
» 2011-01-16 15:50:01 Przeczytaj log kompilacji - tam jest na pewno napisana przyczyna błędu. |
|
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 :/ |
|
DejaVu |
» 2011-01-16 17:33:05 Jak to nic skoro sam napisałeś chwilę wcześniej, że pokazują się błędy? |
|
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)" |
|
« 1 » 2 |