Como fazer algo assim... nem sei como explicar... so desenhar

Utilizando interface Cloneable para poder clonar um objeto e trabalhar com ele sem problemas.

[code]public class TheClone implements Cloneable {

private String name;
private int year;

public TheClone() {
}

public Object clone() {
	try {
		return super.clone();
	} catch (CloneNotSupportedException e) {
		return null;
	}
}

public String getName() {
	return name;
}

public void setName(String name) {
	this.name = name;
}

public int getYear() {
	return year;
}

public void setYear(int year) {
	this.year = year;
}

}
[/code]

Criando a classe de inicialização do programa

public class main {

	public static void main(String[] args) {
		
		// Criando um objeto
		TheClone original = new TheClone();
		original.setName("Sorriso");
		original.setYear(20);
		
		// Efetuando seu clone
		TheClone copiaOriginal =  (TheClone)original.clone();
		
		// Printando os valores  clonados
		System.out.println("O clone do original é: " + copiaOriginal.getName());
		System.out.println("Sua idade é: " + copiaOriginal.getYear());
		
		// Alterando a copia
		copiaOriginal.setName("Mudou o nome");
		
		// Printando o original para verificar se com a alteração
		// da cópia ele não foi alterado
		System.out.println("O nome do original é: " + original.getName());
		
		// Printando o nome da cópia alterado
		System.out.println("O clone do original é: " + copiaOriginal.getName());
		
	}
}

Exemplo de como utilizar o clone, simples.

E o objeto clonado não possui mais referencias ao seu clone pois após o clone serão coisas distintas.

Flw, espero ter ajudado.

[quote=Mark_Ameba][quote=Cristianbf]Estude um pouco sobre ponteiros de java!
Você vai entender porque isso é assim, e vai te ajudar muito com seus próximos programas.[/quote]

E descobrir que ponteiros não existem em java certo?[/quote]

Falei ponteiros porque eu não lembrava o nome do que java realmente usa, se você pesquisar sobre ponteiros em java você descobre: :wink:

:arrow: Ponteiros não existem em java, é usado referências.
:arrow: Ponteiro possui um endereço fixo na memória, refência pode ter seu endereço alterado.
:arrow: Ponteiros podem apontar para partes vazias na memória, conhecida como null.
No caso da referência, significa que ela não foi estabelecida ainda.
:arrow: Referências são melhores para acessar variáveis, e é mais seguro que ponteiros.
:arrow: O mais próximo que java tem de ponteiros é a instanciação de classes.

Não tenho nada contra seu comentário, só acho que você deveria fazer comentários mais contrutivos.

Ta… o que eu quis dizer é que não existe ponteiros em Java assim como os do C.

E de dentro da classe é impossivel fazer o que ele quer sem os ponteiros do C.

[quote=Mark_Ameba]Ta… o que eu quis dizer é que não existe ponteiros em Java assim como os do C.

E de dentro da classe é impossivel fazer o que ele quer sem os ponteiros do C.[/quote]

A tá! Foi por isso que eu mandei ele estudar! hehehe