Boa tarde, tenho uma duvida simples mais nem sei como pesquisar isso…
public class teste{
public teste(teste novoTeste){
this = novoTeste;
// ? existe alguma maneira de fazer algo similar a isso?
}
}
obrigado pela atenção.
Boa tarde, tenho uma duvida simples mais nem sei como pesquisar isso…
public class teste{
public teste(teste novoTeste){
this = novoTeste;
// ? existe alguma maneira de fazer algo similar a isso?
}
}
obrigado pela atenção.
hã?!
[code]# public class teste{
#
# public teste(teste novoTeste){
# this.novoTeste = novoTeste;
# // ? existe alguma maneira de fazer algo similar a isso?
# } [quote]
Seria isso ???
Eu ainda acho ke to viajando… mais é algo mais o menos assim
public class teste{
int a;
int b;
public teste(teste novoTeste){
//queria fazer algo parecido com isso
this = novoTeste;
// em vez de fazer isso aki
this.a = novoTeste.getA();
this.b = novoTeste.getB();
}
}
Oq vc ta querendo fzer ?
public teste(int a , int b){
this.a = a;
this.b = b;
}
???
Explica oq vc quer fzer pra gente ver se tem uma maneira melhor de fzer oq vc quer fzer , rs
Desenhe então.
Você quer criar uma classe que se comporte como um nó de uma lista ligada, ou como um nó de uma árvore? (Ou seja, que tem uma referência para um objeto que pertence à mesma classe?)
Cara, não sei se tô viajando mais que você :shock:
seria algo assim?
public class teste{
int a;
int b;
int result;
public soma(){
result = a * b;
}
public teste novoteste = new teste();
this.getNovoTeste();
}
Voce quer copiar o objeto para esse ou usar a referencia dele para ser esse?
quero saber se tem como fazer um construtor passando como parametro um objeto de mesma instancia e setar todos campos de uma vez.
public class teste{
int a;
public teste(teste novoteste){
//isso aki num da, ja tentei
this = novoteste;
//o correto é fazer isso, setando todos os campos do objeto
this.a = novoteste.a;
//so que eu queria sabe se tem como fazer isso automatico, setar todos duma vez
}
}
Isso mesmo era a palavra que faltava, usar ele como referencia.
Usar a referência dele para sobrepor a própria classe(this) enquanto está dentro dela, isso não dá para fazer.
O que dá para fazer é copiar todos os atributos do objeto passado para o novo objeto.
Aeee
Usar a referência dele para sobrepor a própria classe(this) enquanto está dentro dela, isso não dá para fazer.O que dá para fazer é copiar todos os atributos do objeto passado para o novo objeto.
Era o que eu suspeitava… mto obrigado pela ajuda de todos… desculpe gastar o tempo de vcs…
Estude um pouco sobre ponteiros de java!
Você vai entender porque isso é assim, e vai te ajudar muito com seus próximos programas.
Estude um pouco sobre ponteiros de java!
Você vai entender porque isso é assim, e vai te ajudar muito com seus próximos programas.
E descobrir que ponteiros não existem em java certo?
Pelo que entendi, você quer criar uma instancia onde todos os atributos são uma cópia de outra instancia. Para fazer isso pesquise sobre o metodo clone() e a inteface Cloneable
Ele quer fazer uma instanciação de objeto:
public class MinhaInstancia {
public class Curso {
String nomeDoCurso;
double valorDoCurso;
}
public static void main(String[] args) {
MinhaInstancia minhaInstancia = new MinhaInstancia();
Curso cursojava = minhaInstancia.new Curso();
cursojava.nomeDoCurso = "Curso de Java";
cursojava.valorDoCurso = 55;
}
}
Sou iniciante em JAVA, mas creio que assim dÊ certo.
Vc pode fazer algo assim
public class Teste{
//private static Teste instance;
private int a;
public Teste(int a){
this.a = a;
}
public static Teste copyInstance(Teste instance){
return new Teste(instance.getA());
}
public int getA(){
return a;
}
}
Do modo que vc quer é estranho.
Nesse codigo eu copio os campos para um novo objeto. e retorno ele.
oq vcs qrem fazer galera
Utilizando interface Cloneable para poder clonar um objeto e trabalhar com ele sem problemas.
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;
}
}
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.
Estude um pouco sobre ponteiros de java!
Você vai entender porque isso é assim, e vai te ajudar muito com seus próximos programas.E descobrir que ponteiros não existem em java certo?
Falei ponteiros porque eu não lembrava o nome do que java realmente usa, se você pesquisar sobre ponteiros em java você descobre: 
: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.
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.
A tá! Foi por isso que eu mandei ele estudar! hehehe