Classe filho não utiliza classe pai

import java.io.*;
public class Conjunto1l{
  Conjunto1 [] conjunto1;  
  static final int TOTAL = 5;
  int itens =0;
	
	public Conjunto1(){
		conjunto1 = new Conjunto1[TOTAL];
		adicionar("Videogame","Wii","PS3","Xbox");
		adicionar("Celular","Motorola","LG","Sony");
		//conjuntos		
		
	}
	
	public void adicionar(String conjunto,String nome1,String nome2, String nome3 ){
		
		ConjuntoTotal conjtotal = new ConjuntoTotal(conjunto, nome1,nome2, nome3);
		if (itens >= TOTAL ){
			System.out.println("Não ha espaco para adicionar conjuntos");
			}
			else	
			conjunto1[itens] = conjtotal;  //ERRO
		    itens = itens +1;
		}
		
/*	public Iterator criarIterador(){
		return (Iterator)Conjunto1(conjunto1);
		
	} */
}

	

public class ConjuntoTotal {
ConjuntoTotal conjtotal;
public  String conjunto;
public String nome1;
public String nome2;
public String nome3;
	
	public ConjuntoTotal(String conjunto,String nome1,String nome2, String nome3){
		this.conjunto = conjunto;
		this.nome1 = nome1;
		this.nome2 = nome2;
		this.nome3 = nome3;
		
	}
	public void setConjunto(String conjunto){
		this.conjunto = conjunto;
	}
	public void setNome1(String nome1){
		this.nome1 = nome1;
	}
	public void setNome2(String nome2){
		this.nome2 = nome2;
	}
	public void setNome3(String nome3){
		this.nome3 = nome3;
	}
	public String getConjunto(){
		return conjunto;
	}
	public String getNome1(){
		return nome1;
	}
	public String getNome2(){
		return nome2;
	}
	public String getNome3(){
		return nome3;
	}
}

Gente, estou tentando fazer com que minha classe ConjuntoTotal adicione dados em Conjunto1. Eu estou tentando fazer com que duas classe com estruturas diferentes (arraylist e array) ‘trabalhem’ em conjunto sem que nenhuma delas se modifique. Eu somente copiei aqui o Conjunto1 (array) e ConjuntoTotal para tentar entender o porquê a parte que está comentada com //ERRO não funciona. O erro é o seguinte: não converte do tipo ConjuntoTotal para Conjunto1. Alguém consegue me ajudar?

  1. Considera isso:
 Conjunto1 [] conjunto1;    
  1. Isso:
ConjuntoTotal conjtotal = new ConjuntoTotal(conjunto, nome1,nome2, nome3);  
  1. Agora isso:
public class ConjuntoTotal {  
  1. Por fim, isso:

Conclusão:

Você diz que conjunto1 é do tipo array de Conjunto1 e quer armazenar o objeto conjtotal do tipo ConjuntoTotal num array do tipo Conjunto1?

Não dá certo mesmo se você não estabeleceu herança para ConjuntoTotal de Conjunto1.

wiliamps

Não sei se é a melhor forma mais se você criar uma classe de conjunto1 e na classe de conjunto total você fizer uma List de conjunto1 acredito que ficaria mais simples!!!

public classe Conjunto1{

private String nome1;

contrutor

get e set
etc…

}
////////
public classe ConjuntoTotal{

private Listconjuntos;

conjuntos.add(new Conjunto1(“nome1”,“nome2”,“nome3”));

}
////////

[quote=wiliamps]1) Considera isso:

 Conjunto1 [] conjunto1;    
  1. Isso:
ConjuntoTotal conjtotal = new ConjuntoTotal(conjunto, nome1,nome2, nome3);  
  1. Agora isso:
public class ConjuntoTotal {  
  1. Por fim, isso:

Conclusão:

Você diz que conjunto1 é do tipo array de Conjunto1 e quer armazenar o objeto conjtotal do tipo ConjuntoTotal num array do tipo Conjunto1?

Não dá certo mesmo se você não estabeleceu herança para ConjuntoTotal de Conjunto1.

wiliamps


[/quote]

wiliamps, eu já tentei Conjunto1 extends ConjuntoTotal e mesmo assim não havia funcionado. O problema é que tenho que fazer uma classe que utilize um array e outra classe que utilize um arraylist. Essas classes tem que adicionar da mesma forma em suas respectivas classes utilizando o ConjuntoTotal.

[quote=Ronaldo Santos]Não sei se é a melhor forma mais se você criar uma classe de conjunto1 e na classe de conjunto total você fizer uma List de conjunto1 acredito que ficaria mais simples!!!

public classe Conjunto1{

private String nome1;

contrutor

get e set
etc…

}
////////
public classe ConjuntoTotal{

private Listconjuntos;

conjuntos.add(new Conjunto1(“nome1”,“nome2”,“nome3”));

}
////////

[/quote]

Ronaldo, assim que chegar em casa tentarei ajustar meu código ao seu. Obrigado!

Não entendi bulhufas do que você quer fazer, mas sei que está errado.
Classe filha não usa a classe pai? Mas cadê a indicação da relação de herança entre as classes? Cadê o extends?
Sem extends você só pode ter uma relação de agregação ou composição ou realização (implements). Logo, precisará ou instanciar um objeto da outra classe e através dele invocar seus métodos ou sobrescrever os métodos da interface/classe abstrata (o que não é teu caso).
Logo, você está cometendo um erro primário e grotesco.

[quote=drsmachado]Não entendi bulhufas do que você quer fazer, mas sei que está errado.
Classe filha não usa a classe pai? Mas cadê a indicação da relação de herança entre as classes? Cadê o extends?
Sem extends você só pode ter uma relação de agregação ou composição ou realização (implements). Logo, precisará ou instanciar um objeto da outra classe e através dele invocar seus métodos ou sobrescrever os métodos da interface/classe abstrata (o que não é teu caso).
Logo, você está cometendo um erro primário e grotesco.[/quote]

drsmachado, eu entendo que para que uma classe filha possa utilizar metodos da classe pai é necessário que exista um extends. Se você ler meu post como resposta a um outro usuário, verá que eu citei isso. Eu utilizei o extends, porém não funcionou da mesma forma. Antes de postar aqui eu havia tentado outras alternativas, sem sucesso.

O que acontece é que você dá a entender que não sabe nem o que quer fazer, pelo título do tópico entende-se que você está tendo dificuldades em uma coisa, mas, ao ler o que você escreve o os códigos, isso não faz nenhum sentido.
Uma das orientações mais utilizadas em qualquer lugar é o de ser claro quanto ao que se quer e, ao menos para mim, você não foi nem de longe.

A questão é que eu não tenho experiência em Java como muitos aqui devem ter. Na verdade, comecei faz pouco tempo e atualmente não preciso de usuários mimimi.
Se você não está afim de ajudar, retire-se do tópico. =)
Simples.

Conforme falamos, o ConjuntoTotal precisa herdar Conjunto1.

Leia novamente o comentário que tinha feito, pois acho que você interpretou errado.

Veja do que estamos falando:

public class Teste {

	public static void main(String[] args) {

		Conjunto1 conj1 = new Conjunto1();
		
	}

}

class Conjunto1 {

	Conjunto1 [] conjunto1;  
	static final int TOTAL = 5;
	int itens =0;

	public Conjunto1(){
		conjunto1 = new Conjunto1[TOTAL];
		adicionar("Videogame","Wii","PS3","Xbox");
		adicionar("Celular","Motorola","LG","Sony");
		//conjuntos		

	}

	public void adicionar(String conjunto,String nome1,String nome2, String nome3 ){

		ConjuntoTotal conjtotal = new ConjuntoTotal(conjunto, nome1,nome2, nome3);

		if (itens >= TOTAL ){
			System.out.println("Não ha espaco para adicionar conjuntos");
		} else {	
			conjunto1[itens] = conjtotal;  //ERRO
			itens = itens +1;
		}
	}		

}

class ConjuntoTotal extends Conjunto1 {

	ConjuntoTotal conjtotal;
	public  String conjunto;
	public String nome1;
	public String nome2;
	public String nome3;

	public ConjuntoTotal(String conjunto,String nome1,String nome2, String nome3){
		this.conjunto = conjunto;
		this.nome1 = nome1;
		this.nome2 = nome2;
		this.nome3 = nome3;

	}
	public void setConjunto(String conjunto){
		this.conjunto = conjunto;
	}
	public void setNome1(String nome1){
		this.nome1 = nome1;
	}
	public void setNome2(String nome2){
		this.nome2 = nome2;
	}
	public void setNome3(String nome3){
		this.nome3 = nome3;
	}
	public String getConjunto(){
		return conjunto;
	}
	public String getNome1(){
		return nome1;
	}
	public String getNome2(){
		return nome2;
	}
	public String getNome3(){
		return nome3;
	}
}

Tem outro problema, como dentro do construtor de Conjunto1 você chama o construtor do Conjunto1, isso desencadeia um looping infinito.

wiliamps