Metodo Contrutor

[code]import javax.swing.*;

public class Funcionario1{
private String nomeFunc;
private double salario;
private int cargo;
private int idade;

public Funcionario1(){
}

public Funcionario1(String nomeFunc,int idade,double salario){
	this.nomeFunc=nomeFunc;
	this.idade=idade;
	this.salario=salario;
}

public void setNomeFunc(String nomeFunc){
	this.nomeFunc=nomeFunc;
}
public void setCargo(int cargo){
	this.cargo=cargo;
}
public void setIdade(int idade){
	this.idade=idade;
}
public void setSalario(double salario){
	this.salario=salario;
}
public String getNomeFunc(){
	return nomeFunc;
}
public int getCargo(){
	return cargo;
}
public int getIdade(){
	return idade;
}
public double getSalario(){
	return salario;
}
public void entradaDados(){
	nomeFunc = JOptionPane.showInputDialog(null,"Informe o nome do Funcionario: ");
	salario  = Double.parseDouble(JOptionPane.showInputDialog(null,"Informe o salario do Funcionario: "));
	cargo = Integer.parseInt(JOptionPane.showInputDialog(null,"Informe o cargo do Funcionario: "));
	idade = Integer.parseInt(JOptionPane.showInputDialog(null,"Informe a idade do Funcionario: "));
}

public String toString(){
	String frase = "Nome Funcionário: "+this.nomeFunc+"\nSalário do Funcionário: "+this.salario+"\nCargo do funcionário: "+this.cargo+"\nIdade do Funcionário: "+this.idade;
	return frase;
}

public double Bonificacao(){
	return(this.salario*0.1);
}

}[/code]public class TestaEmp{ public static void main(String[] args){ Funcionario1 fun = new Funcionario1("Aldo",23,650.60); // para que usar o metodo contrutor, se no caso eu usaria entrada de dados, ele é necassário em um programa System.out.println("Dados do Funcionário: "+fun.toString()); System.out.println("Bonificacao Funcionário: "+fun.Bonificacao()); } }

Minha duvida é o seguinte:

*O Método construtor serve exatamente para que?, todos programas em java devem ter um?

*Meu conceito de método contrutor é tipo, se voce quer criar uma classe tipo, uma conta, onde o salado deveria se inicializar no zero, entao ai sim precisaria de um método contrutor, isso é certo??

*Alguem tem um exemplo fácil para mostrar?

http://www.tiexpert.net/programacao/java/metodo-construtor.php

[code]class TV {

int tamanho;
int canal;
boolean ligada;

TV(){
tamanho=21;
canal=0;
ligada=false;
}
}

[/code]

ja nao poderia defnir os valores diretamente nos atributos lah em cima?

tipow assim

[code]class TV {

tamanho=21;
canal=0;
ligada=false;

[/code]

uma outra forma para escrever este construtor seu é com os metodos sets ficaria assim:


 public Funcionario1(String nomeFunc,int idade,double salario){  
         setNomeFunc(nomeFunc);
         setIdade(idade);
         setSalario(salario);
     }  
       

já que vc criou os gets e set é recomendado usalos.