pakiety, interfejs jak to sie obsługuje, początkujący

0

man taki kod
http://www.drakodenaturat.republika.pl/drako/jav.html

chcialem wydzielić pakiet, klase z main zostawić w pakiecie globalnym
a interfejs "IfKol" i pozostałe klasy umieścić w pakiecie zrobiłem tak:

package QPack;
public interface IfKol
{
	public void put(char z);
	public char get();
	public void reset();
	public int a=3;
}
class dane
{
	..............
}
class tool extends dane
{
	..............
}
class KolK extends tool implements IfKol//kol krazaca
{
	public char get()
	{
	      ..................
	}
        public void put()
        {
              ...........
        }
	public void reset()
	{
		...........
	}
}
class KolKD extends KolK implements IfKol
{
	void extend()//zwiększenie kolejiki o 5 komuek
	{
		......................
	}
	public void put(char z)
	{	
		........................
	}
}

i drugi plik:

import QPack.*;
class Kolejki
{
	public static void main(String args[])
	{
		KolK k2=new KolK();
		KolKD k4=new KolKD();
		IfKol ik;
		
		ik=k2;
		for(int i=-2;i<12;i++)
		{
                     ble ble ble
		}
	}
}

Jak sie spodziewacie nie działa, wyświetla że nie mam dostępu do interfejsu IfKol

0

muszisz w panel stererowania -> System -> zaawansowane -> zmienne srodowiskowe podac sciezke do tego pakietu w zmiennej CLASSPATH jesli podasz np. C:\pakiety to bedziesz to bedziesz mogl umieszczac kalsy w tym pakiecie 'package pakiety' i w jego podpakietach np. package pakiety.pakiet1;

0

chyba tego nie potrzeba, kompilator wie ze maszukać klasa w katalogu o nazwie pakietu.
a oba pliki są kompilowane z tego samego miejsca wiec pliki sie znajdują

bład jest w skaldni, coś z prawami dostępu

chciałem dać pozostałe klasy w pierwzym pliku jako public, ale wypisało że tak nie może być bo plik musie mieć wtedy nazwe tej klasy która jest public.
wieć jak z tego drugiego pliku bede miał dostęp do klas które nie są public

dlaczego nie mam dostępu do interfwejsu, przecież on jes public

0

tu są konkterne 2 pliki tylko skompilowac

jeśli ktomuś sie nudzi to prosze o pomoc

1.interfejs i jakieś klasy do niego:
http://drakodenaturat.republika.pl/ifkol.java

2.metoda mian która uruchamia interfejs i klasy
http://drakodenaturat.republika.pl/qdemo.java

dziwne jest bo komilator zgłasza błąd przy dostępie do interfejsu, że nie ma niby do niego dostępu

a nie zgłasza błądu przy dostępie do innych klas które powinne być nie dostępne bo nie są public

0

żeby uzyskać dostęp do klasy musi być ona public
jak to możliwe że w jednym pliku ma być kilka klas zadeklarowanych jako public, przceiż to sie nie skompulije bo plik musi sie nazywać tak jak nazwa klasy public
sprzeczność

chyba ze każda klasa edzie w odzielnym pliku ale to byłby chba masochizm

czy ktoś to forum odwiedza?

0

skompilowałem każdą klase w odzielnym pliku,
ustawiłem dostęp public wszędzie
ale metoda main dalej nie działa : "can not access to KolL.java"

1 użytkowników online, w tym zalogowanych: 0, gości: 1