return, miejsce w pamięci i niechęć do toString

0

Witam,

Zaznaczam, że starałem się zatytuować temat najlepiej jak potrafiłem, ale ze względu na późną porę, jestem troszkę... mało kreatywny :).

Problem jest prosty i podejrzewam, że wynika z mojej niewiedzy.

Mianowicie. Powiedzmy, że mamy prostą klasę:

class Counter{
	private int state;

	public Counter(){ 
		state=0;
	}

	public Counter show(){
		return this;
	}

 

W Mainie zrobimy coś na kształt

 public
	class Main{
		public static void main(String[]args){

		Counter c=new Counter();
		System.out.println(c.show());


		}
	}

I rezultatem jest oczywiście "Counter@23fc4bec" albo coś w ten deseń. I dobra, logiczne.
Zazwyczaj tworzyłem toString i problem był z głowy. Ale wydaje mi się, że jest to rozwiązanie "na około". Czy po prostu coś źle skonstruowałem, czy po prostu muszę się z tym pogodzić?

0

Nie jest to rozwiązanie na około. Tak się robi. Albo stworzysz metodę: mojeToString() i w main'ie dasz: println(c.mojeToString());

0

toString() jest po to żeby ją przeładować :) A println(Object) wywoła to toString() na obiekcie.

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