RE: [java-list] This() ?!

2003-07-09 Por tôpico Eder Ribeiro Ferreira
Isso é uma chamada ao construtor sem parâmetros da classe
LiquidificadorGenerico.

-Original Message-
From: Silva Luis-ALS038 [mailto:[EMAIL PROTECTED]
Sent: quinta-feira, 3 de julho de 2003 08:24
To: Java-List (E-mail)
Subject: [java-list] This() ?!


O que significa o This(), em um exemplo como este que vi em um livro:

public LiquidificadorGenerico(int v) {
  this();
  ajustarVelocidadeMaxima(v);
}


Desde já agradeço a todos que puderem me explicar!!

Att,
 Luis Antonio Lopes da Silva
Phone: 55-19-3847-6291  /  Fax: 55-19-3847-7037
E-mail: [EMAIL PROTECTED]





-- LISTA SOUJAVA 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-


-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-



RE: [java-list] Pergunta for Dummies

2003-06-24 Por tôpico Eder Ribeiro Ferreira
Galera o negócio é o seguinte:

A passagem é sempre por valor.

Tipos primitivos (int, float, double ...) são passados por valor, logo no
exemplo a seguir o valor de i não é modificado.

int i = 10;
muda(i);

void muda(int j) {
  j = 15;
}

Métodos que recebem objetos, recebem, na realidade, uma CÓPIA do endereço do
objeto, ou seja apenas o VALOR do endereço do objeto. Lembrando que em java
arrays são objetos, analizemos o código a seguir:

int[] i = {1, 2, 3};
muda(i);

void muda(int[] j) {
  j[0] = 101;
}

nesse caso o valor do array i foi modificado ( o elemento de indice 0 passou
de 1 para 101 ). Essa mudança ocorreu pq o parâmetro j contém uma cópia do
endereço de i, a partir dessa cópia foi possível acessar o objeto original e
modifica-lo. Vejamos outro exemplo:

int[] i = {1, 2, 3};
muda(i);

void muda(int[] j) {
  j = new int[] { 10, 20, 30 };
}

Nesse caso o array i não se modifica! Pois apenas a CÓPIA do endereço de i
foi modificada e não o endereço original de i.

Espero que tenha ficado claro, t+!

-Original Message-
From: Bruno Borges [mailto:[EMAIL PROTECTED]
Sent: segunda-feira, 16 de junho de 2003 16:08
To: [EMAIL PROTECTED]
Subject: Re: [java-list] Pergunta for Dummies


ai senhor do ceu... array eh um objeto...

o q vc entende por por referencia ??

eh qdo vc tem:

int i = 10;
muda(j);

muda(int j) {
  j = 15;
}

i continua sendo 10, certo? em pascal, se eu declarasse var j: integer
daih seria por referencia... daih o i iria mudar, certo?

agora faz o seguinte:

int[] i = {1, 2, 3};
muda(i);

muda(int[] j) {
  j = {101, 102, 103};
}

manda imprimir os valores de i, apos o metodo muda... e daih vc me diz se eh
passado por valor ou por referencia...

:)

PS: nao me leve a mau... estou com colica hoje... :(


- Original Message -
From: Alan
To: [EMAIL PROTECTED]
Sent: Tuesday, June 10, 2003 6:05 PM
Subject: Re: [java-list] Pergunta for Dummies


Como por valor se o conteúdo do Array está sendo alterado...???

Preste atenção quando o array é criado no método main, ele é criado com os
seguintes valores:
[0,1,2].
E quando o System.out.println retorna o Array ele foi alterado para:
[0,1,99]...

...??? Por referência!!!
Alan.
- Original Message -
From: leonardo bruno
To: [EMAIL PROTECTED]
Sent: Thursday, June 05, 2003 10:19 AM
Subject: Re: [java-list] Pergunta for Dummies


aqui vai um link que eu peguei no GUJ que mostra que a passagem é feita por
valor
http://www.geocities.com/mcglonec1978/javacert/javacert.htmlhttp://www.geoci
ties.com/mcglonec1978/javacert/javacert.html

[]s
léo


From: Alan
Reply-To: [EMAIL PROTECTED]
To:
Subject: Re: [java-list] Pergunta for Dummies
Date: Fri, 30 May 2003 00:02:05 -0300

Olá,

Objetos e Arrays são passados por referência.
Ai vai um exemplo:
---
package teste;

public class Class1
{
 String s1;
 public Class1()
 {
 this.s1 = Valor 1; //o valor inicial é
Valor 1
 }

 public void alteraObjeto(Class1 c1) //esse método recebe uma classe
Class1 por referência
 {
 c1.s1 = Valor 2; //o valor é alterado para
Valor 2
 }
}
--
package teste;

public class Class2
{
 public static void main(String [] args)
 {
 Class1 c1 = new Class1(); //aqui o valor é setado para Valor 1
 Class1 c2 = new Class1();

 System.out.println(c1.s1); // Valor 1 é exibido
 c2.alteraObjeto(c1); //aqui o objeto é alterado para
Valor 2, pois é passado por referência
 System.out.println(c1.s1); // Valor 2 é exibido. A classe Class1
foi alterada por referência
 }
}

-
- Original Message -
From: Leonardo Hartleben Reinehr
To:
Sent: Wednesday, May 21, 2003 4:13 PM
Subject: RES: [java-list] Pergunta for Dummies



Olá,

  Ainda acredito que quando a passagem for de objetos será por referência
  e não por valor...

Em Java, parâmetros são sempre passados por valor, independente se o
parâmetro é um objeto ou um tipo primitivo. Faça o teste a seguir que você
vai comprovar isso:

public class Teste {
 public static void main(String[] args) {
 String str = Valor 1;
 teste(str);
 System.out.println(str);
 }

 public static void teste(String s) {
 s = Valor 2;
 }
}

O texto que será impresso é Valor 1.

Veja em http://java.sun.com/docs/books/tutorial/java/javaOO/arguments.html,
no item Pass by Value, que lá explica direitinho o que acontece na
passagem de parâmetros, e porque os casos que você colocou funcionam. Aqui
na lista mesmo, há algum tempo, essa dúvida apareceu e houve bastante
debate, dê uma olhada no histórico.

Um abraço,
Leonardo

-- LISTA SOUJAVA 
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]