probleme mit 2 contructoren.

Status
Nicht offen für weitere Antworten.

scriptCoad

Aktives Mitglied
..hallo, ich kenn die erste Forenregel aber ich hab ein Proble, und vielleicht kennt ja jemand das Spielchen schon.

Ich nehm zwei methoden, kopier die und muss als namen den klassennamen nehmen, sonst sagt eclipse

the Constructor "Klassenname ist undefined"

wenn ich dann das kopieren und anderes objekt erzeugen umbenennen rückgängig mach dann steht bei der gerade kopierten methode

Return type for the mthod is missing

:gaen: es ist bestimmt nichts kompliziertes, aber wenn ich hier resonanz habe und lese / schreibe ist die nachhaltigkeit viel größer :?
 
1. nochmal: es heißt Konstruktor oder Constructor aba nicht contructor.

ansonsten weiß ich nich wo dein problem is, kapier nich was du da machst. die erste fehlermeldung sagt dir ,dass es so einen konstruktor nicht gibt, di zweite sagt, dass deine methode da was zurückleifern muss (wenn nix halt void)
 
..zuerst hatte ich eine logginmethode das ist die, lief auch wunderbar



Code:
	public static void main(String[] args) {

		System.out.println("Test Lognachricht");
		Sendtest sendtesten = new Sendtest();
		try {
			logset.login("name", passwort");
			logset.info("Hallo");
		} catch (Exception e) {
			e.printStackTrace();
		}

	}



Code:
public Sendtest (String bla1, Klassesagichnicht dasauchnicht) {
		bla1 = Blabla1;
		dasauchNet = dasauchnicht;
		Meldungenschreiben schreib = new Meldungenschreiben(true);

		main.setValue1(value1);
		main.setValue2(value2);
		
		try {
			schreib = dasauchnicht.hohlemeldung().erzeugeMeldungstyp(
					schreib);
			m_logMainRow = m_ctx.hohlemeldung()
					.hohlemeldungvomtyp1(schreib.typ1());
		} catch (RemoteException e) {
			// Auto-generated catch block
			e.printStackTrace();
		} catch (BusinessException e) {
			// Auto-generated catch block
			e.printStackTrace();
		}
	}


oh man - spottet nicht über die bezeichner, ich hab einfach oben angefangen alles zu ändern. Wenn mal wsa vertippt ist, dann ist das nur hier so, mein problem ist halt dass die obere meethode, die schonmal meldungen hohle und schreibt, und sich autorisiert - jetzt immer ne meldung wirft seid dem die zweite drin ist.

Oben steht: new Sendtest (the contructor Sendtest s undefined), weil ich unten die methode auch Sendtest benannt habe.

Überleg ich mir aber nen andern Namen ist oben die Warnung weg - aber dann - kreig ich unten den Fehler "return type is missing" so als wollten bei teile den klassennamen haben

aj ja die klasse heisst natürlich Sendtest

danke für die mühe, bannt mich nicht
 
dein konstruktor sendetest erwartet 2 parameter. wenn er 2 parameter erwartet musst du ihm auch 2 geben, anders funktinoiert es nicht.
 
jaa das ist aber leiderr nicht das proble...

...an der stelle hab ich den code falsch gekürzt, ich hab innerhab der ersten methode wie bescrieb, oder abwechselnd bei zweiten contructor den fehler wie folgt
g ich unten den Fehler "return type is missing"
 
Wenn du den Namen änderst dann hält er es wohl für ne normale Methode, deshalb die meldung, aber ein Konstruktor ist nun mal keine normale Methode.

Wie Roar schon gesagt hat: Der Konstruktor erwartet 2 Parameter, sobald du deinen eigenen definierst implementiert der Compiler nicht mehr den Standardkonstruktor.....

Btw. es wäre ganz praktisch wenn du erst mal überlegen würdest bevor du schreibst, das macht es einfacher deine Beiträge zu lesen und somit einfacher darauf zu antworten.
 
Mal kurz Nachgefragt:
1. In der Klasse Sendtest existiert ein Konstruktor Sendtest().
2. In der selben Klasse existiert eine Methode Sendtest().

Etwa so? ...falsch!
Code:
public class Sendtest
{
	public Sendtest(String sonstwas, Anonymous wasanderes)
	{
		//Konstruktor-Anweisungen
	}

	public Sendtest(String sonstwas, Anonymous wasanderes)
	{
		//Methoden-Anweisungen
	}
}

oder etwa so? ...richtig!
Code:
public class Sendtest
{
	public Sendtest(String sonstwas, Anonymous wasanderes)
	{
		//Konstruktor-Anweisungen
	}

	public void Sendtest(String sonstwas, Anonymous wasanderes)
	{
		//Methoden-Anweisungen
	}
}

Anmerkung: Man beachte, das Methoden von Konstruktoren durch einen Rückgabewert unterschieden werden. Soll eine Methode keinen Rückgabewert liefern ist auf jedenfall "void" anzugeben. Natürlich funktioniert obiges Beispiel. Man sollte aber (nicht nur aus Gründen der Übersicht) als Methoden-Namen keinesfalls Konstruktoren-Namen angeben, da man (so ungefähr wie scriptCoad gerade) unheimliche Probleme bekommen kann.
 
also ..ich hab alles in eine methode (in die oben) geschmissen, obs klappt schreib ich montag, hab nch keine minute gepennt seid gestern 9Uhr ... muss jetz mal, trotzdem danke

(hat noch nen geburtstag bis um 10h vor sich)

cu
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben