Informaçao no codigo abaixo

Caros , to fazendo aqui um trabalho para a facul?
tem essa pergunta " Por que a função circulo() não possui
tipo de dado definido?"

Na minha opinião, nao tem um valor definido pois tem o construtor default e o outro .
sera que e isso ai mesmo

valeu pela força.

// Classe Circulo
public class circulo {
public static final double PI = 3.14159; //constante pi
public double raio; //raio do circulo
//Método Construtor - geral
public circulo(double r) { this.raio = r; }
//Método Construtor - trivial
public circulo() { this(1.0); }
//Cálculo da circunferência do circulo
public double circ() { return 2*PI*raio; }
//Cálculo da área do círculo
public double area() { return PI*raio*raio; }
public static void main(String[] args) {
circulo c1, c2;
c1 = new circulo();
c2 = new circulo(5);
System.out.println("Raio do Circulo: " + c1.raio);
System.out.println("Circunferencia do Circulo: " + c1.circ());
System.out.println("Area do Circulo: " + c1.area());
System.out.println("Raio do Circulo: " + c2.raio);
System.out.println("Circunferencia do Circulo: " + c2.circ());
System.out.println("Area do Circulo: " + c2.area());
}
}

Eles SÃO os construtores. Tem o mesmo nome da Classe. E não retornar nada também é uma característica obrigatória do construtor.

EDITADO: Java Pattern: Classes começam em caixa alta. Assim os construtores tbm. Os demais métodos com caixa baixa na primeira letra.

Abraços

R= pq ela depende dos atributos que vc passar pra ela. Se vc passar String, ela chamara o metodo que aceite String, se vc passar Int, ela chamara o metodo que aceite Int… e por aí vai.

Cara, não seria tipo de dado de retorno definido?

Porque você tem argumentos com tipo de dado definido em duas sobrecargas do seu construtor (int e double). Apenas no default não tem argumentos.

Normalmente, até onde sei eu (pois não estou acostumado com essa expressão), quando se fala de tipo de dado de um método se está falando do retorno e não dos argumentos.

Abraços