Várias Dúvidas!

Olá pessoal, sou novo no fórum e no mundo Java. Tive minha primeira aula de java ontem na faculdade.
Tenho diversas dúvidas que gostaria de sanar, se puderem também me dizer algum site bom para iniciantes, agradeceria.

Bom, são várias então, vamos lá.

Classe1()
Isto seria um método? Para que ele serve? Verifiquei que ele tem o mesmo nome da Classe criada no início do programa.

public class TesteStatic
Daonde veio essa classe? Ela seria pública porque todo o programa enchergaria?

public static void main (String args[])
O String args[] seria porque haveria argumentos strings ?

Classe1 c1 = new Classe1();
Porque c1? Ele está criando novamente outra classe1?

Bom, eu peguei essas dúvidas desse programa aqui caso não consigam entender da forma como coloquei.

[quote]class Classe1
{

public static int contador = 0;

public static int outroContador = 0;

public Classe1() {}

public static void incrementaContador()
{
    contador++;
    
    System.out.println("contador agora é"+ contador);
}

public static void incrementaOutroContador()
{
    outroContador++;
    
    System.out.println("outroContador agora é"+outroContador);
}

}

[b]public class TesteStatic[/b]
{
    [b]public static void main (String args[])[/b]
    {
        [b]Classe1 c1 = new Classe1();[/b]
        c1.incrementaContador();
        c1.incrementaOutroContador();
        
        Classe1 c2 = new Classe1();
        c2.incrementaContador();
        c2.incrementaOutroContador();
        
        Classe1 c3 = new Classe1();
        c3.incrementaContador();
        c3.incrementaOutroContador();
        
        Classe1 c4 = new Classe1();
        c4.incrementaContador();
        c4.incrementaOutroContador();
    }

}[/quote]

  1. Neste trecho vc cria uma instancia da classe,um objeto(c1) que é uma instancia da Classe1 , não é um método.

Classe1 c1 = new Classe1();

  1. É soh uma classe qq criada para testar a primeira. o ideal seria cria-la em um arquivo separado. public é um modificador de acesso para a classe ser enxergada por outras classes em qq lugar(no msm pacote, ou em outro pacote)
public class TesteStatic{}

3)sim

4)ja respondida em 1

[quote=italons]1) Neste trecho vc cria uma instancia da classe,um objeto(c1) que é uma instancia da Classe1 , não é um método.

Classe1 c1 = new Classe1();

  1. É soh uma classe qq criada para testar a primeira. o ideal seria cria-la em um arquivo separado. public é um modificador de acesso para a classe ser enxergada por outras classes em qq lugar(no msm pacote, ou em outro pacote)
public class TesteStatic{}

3)sim

4)ja respondida em 1[/quote]

hmmm, o que seria uma instância? e um método? o que que diferem?

vc deve estar em prog1, certo?
vamos a uma analogia. tipo esta para Classe assim como variavel esta para objeto(ou instancia da classe).

um método é um subprograma. um trecho de codigo para mudar o estado de um objeto

ex:

Classe

public class Pessoa{

//uma classe vazia

}

Uma classe com um metodo


public class Pessoa{

     public void dizerOi(){
       System.out.println("OI");
}

}

Olá,

é o seguinte realmente no começo é meio que assustador sabe, mas tu vai se acostumando
li esse artigo e achei muito interessante,
http://www.javaman.com.br/artigos/JavaComoComecar.html
.

[quote=italons]1) Neste trecho vc cria uma instancia da classe,um objeto(c1) que é uma instancia da Classe1 , não é um método.

Classe1 c1 = new Classe1();

  1. É soh uma classe qq criada para testar a primeira. o ideal seria cria-la em um arquivo separado. public é um modificador de acesso para a classe ser enxergada por outras classes em qq lugar(no msm pacote, ou em outro pacote)
public class TesteStatic{}

3)sim

4)ja respondida em 1[/quote]

Cara… na verdade a pergunta 1 e outra…

Classe1(){} eh um metodo sim… eh o metodo construtor… A fim de entendimento e pra simplificar, quando sua instancia eh criada (leia-se objeto), ele eh o primeiro metodo que executa… normalmente ele eh usado para inicializacao de variaveis…

Como estas bem no comeco mesmo, recomendo a leitura da Apostila FJ11 da Caelum… Vai te ajudar pacas…

Falows :wink:

opa pessoal, obrigado por tirarem essas dúvidas pra mim, estou fazendo alguns programinhas porém não consegui fazer a soma de duas idades.
O que estaria dando problema?

[quote]class maisErros
{
public static int idade;
public static int segundaIdade;

public static void somaIdades()
{
    System.out.println(idade + segundaIdade);
}
public static void main ( String [] args )
{
somaIdades();
}

}[/quote]

[quote=striker]opa pessoal, obrigado por tirarem essas dúvidas pra mim, estou fazendo alguns programinhas porém não consegui fazer a soma de duas idades.
O que estaria dando problema?

[quote]class maisErros
{
public static int idade;
public static int segundaIdade;

public static void somaIdades()
{
    System.out.println(idade + segundaIdade);
}
public static void main ( String [] args )
{
somaIdades();
}

}[/quote]
[/quote]

Rapaz, primeiro posta o seu código assim, que fica mais facil…

[code]
class maisErros
{
public static int idade;
public static int segundaIdade;

public static void somaIdades()
{
System.out.println(idade + segundaIdade);
}
public static void main ( String [] args )
{
somaIdades();
}
}[/code]

Qual foi o seu problema? Na minha máquina executou perfeitamente…

class Main {

    public static int idade; //variáveis int tem valor default 0
    public static int segundaIdade;

    public static void somaIdades() {
        System.out.println(idade + segundaIdade); // Aqui vc soma 0 + 0 e imprime 0 na saída do sistema
    }

    public static void main(String[] args) {
        somaIdades();
    }
}

Opa, eu consegui com um amigo meu, só que de outra forma.

[code]public class novaSoma
{

public static int idade;
public static int idade2;

public novaSoma ( int i, int i2 )
{
idade=i;
idade2=i2;
}

public static void somar ()
{

int somando = idade+idade2;
System.out.println(somando);

}

public static void main ( String [] args )
{

novaSoma m = new novaSoma ( idade, idade2 );
m.somar();

}
}[/code]

só não consegui entender uma coisa, porque m.somar(); ?
eu consegui entender que tu chama o método somar ( correto? )
mas porque do m? só entendi que ele é uma variável…

Olha m é um objeto da classe novaSoma.
Ou seja ele eh uma referencia da classe novaSoma que chama o construtor com os argumentos passados.
Tendeu?

É isto que dá instanciar objeto usando apenas um caractere como nome da variável para referenciá-lo. Confunde até os experientes que tem que “decorar” que aquela variável referencia um objeto de determinada classe, imagine os iniciantes.
As explicações dos amigos foram claras e explicativas, então eu só aconselho assim que você estiver se familiarizando com a programação orientada a objetos instanciar objetos com um nome significativo.

Abraços!

Oi striker,

Sugiro que você comece pelo inicio. Estude antes de perguntar.
Estou notando que são perguntas de nível bem básico e mesmo o pessoal tentando explica-las, existe uma certa dificuldade.

De uma lida nos artigos: http://www.guj.com.br/article.list.logic e busca apostilas para iniciantes, ok?

Tchauzin!