2015-08-13 2 views
0

Я просмотрел много веб-страниц, пытаясь решить эту проблему, но я борюсь. Я не хочу, чтобы кто-то исправил это для меня, я просто хочу, чтобы кто-то указал мне в правильном направлении, пожалуйста :).

Моя проблема в два раза, у меня есть массив объектов, я хочу передать каждый объект классу Teams, чтобы имя команды можно было сохранить. Этот код не компилируется, касается ошибок линии:
"Команды (MainmenuTest []) teamName() {"Передача объекта, который будет сериализован java

ошибка».class' ожидаемый затем ';' Ожидаемое значение

Я могу заставить сериализацию работать, когда объекты создаются в моем классе Teams (если я прокомментирую код для передачи объектов), и он создает файл .ser в указанном мной каталоге.

Вот фрагменты кода:

public class Teams implements java.io.Serializable{ 

    public Teams(){ 

    // constructor 
    MainmenuTest[] teamName; 
    Teams(MainmenuTest[]) teamName() { 
     this.teamName = teamName; 
    } 
    } 



    public String name; 
    public String address; 
    public transient int SSN; 
    public int number; 
    public void mailCheck() 
    { 
     System.out.println("Mailing a check to " + name + " " + address); 
    } 
} // end Teams class 



public class premierLeagueClubs{ 

    public String club; 
    Teams[] teamName = new Teams[19]; 
    premierLeagueClubs f = new premierLeagueClubs(); 
    Teams t = new Teams(f,teamName); 


public String arsenal(){ 

    teamName[0].club = "Arsenal"; 

System.out.println("You are the new manager of" + club); 
return club; 
} // end method arsenal 

Вот MainmenuTest код:

import java.util.InputMismatchException; 
import java.util.Scanner; 
import java.io.*; 
import java.util.Arrays; 

public class MainmenuTest extends premierLeagueClubs{ 



int choice; 

public MainmenuTest(){ 

//constructor 
} 


public static void main(String args[]){ 

    MainmenuTest team = new MainmenuTest(); 

team.getInput(); 



    } // end main method 
+0

Проверьте скобки. – WillShackleford

+0

Вы не можете поместить конструктор внутри другого конструктора объектов – Turtle

ответ

-1
Teams(MainmenuTest[]) teamName() { 

Ваш конструктор неправильно сформирован. Вы дали ему тип класса и заявили, что это массив, но не назвали его. Затем вы даете

teamName() 

непосредственно после конструктора, где он не принадлежит.

Правильный конструктор, в этом случае, будет

Teams(MainmenuTest[] teamNameArray){ 
    this.teamName = teamNameArray; 
} 

Кроме того, у вас есть конструктор внутри конструктора:

public Teams(){           <---- Constructor 

    // constructor 
    MainmenuTest[] teamName; 
    Teams(MainmenuTest[]) teamName() {     <---- Constructor 
     this.teamName = teamName; 
    } 
    } 

Они должны быть разделены на две:

MainmenuTest[] teamName; 
    Teams(MainmenuTest[] teamNameArray) {      
     this.teamName = teamNameArray; 
    } 
    Teams(){ 

    } 
+0

"* или его нужно удалить *" интерфейс Serializable [требуется открытый или защищенный конструктор no-arg] (http://docs.oracle.com/javase/8/docs /api/java/io/Serializable.html). –

+0

Ах, да, вы правы. Я пропустил это. Я исправлю свой ответ. :) – Catch44

Смежные вопросы