Dúvidas sobre java

2 respostas
B

Amigos, boa noite!

Estou iniciando em Java e estou cheio de dúvidas, será que alguém pode me ajudar?? Tenho a seguintes questões:

Questão 1 -
Observe que a classe abaixo não possui um construtor, porém para que seja criada um objeto sempre é necessário utilizar o operador new seguido do nome do construtor. Desta forma, não será possível criar um objeto desta classe? Explique.

public class Garrafa{
private String tipo;

public void setTipo (String tipo){

this.tipo = tipo;

}

public String getTipo(){

return tipo;

}

}

Questão 2
7) As duas classes abaixo não estão no mesmo pacote. Faça
uma análise das mesmas e corrija possíveis erros de
compilação. (Obrigatório)

public class Carro{

protected int litrosNoTanque;

protected boolean carroLigado;
private void encherTanque(int litros){

litrosNoTanque = litros;

}

}
public class TesteCarro{

public static void main (String args[]){

Carro carro = new Carro();
carro.encherTanque(10);

carro.carroLigado = true;

}

}

2 Respostas

C

Opa, vou tentar explicar por partes.
Questao 1:

  • Neste caso como esta classe nao extende de outra classe a nao ser a Object ou nao implementa uma interface, voce nao irá conseguir instanciar a classe numa chamada direta (Garrafa g = new Garrafa() ), uma vez para que voce possa fazer isto voce precisa de um construtor declarado.

Questao 2:
Pelo que eu vi de erros, voce nao tem um construtor declarado, o que tambem nao permitira que voce instancie diretamente o objeto (Carro c = new Carro() ).

Dica: Sempre crie um construtor padrao para as suas classes, nem que ele seja vazio.

class Carro{ public Carro(){ } }[/code]

J

Quando vc cria um classe em Java e não cria nenhum construtor para ela, automaticamente é criado um construtor vazio para vc, onde creio eu q vc não terá problemas em instanciar ambas as classes. Mas caso vc crie pelo menos um construtos na sua classe contendo parametros, saiba q o Java não criará um construtor default para vc.

Criado 19 de setembro de 2007
Ultima resposta 19 de set. de 2007
Respostas 2
Participantes 3