Herança

Alguém pode me ajudar a fazer um modelo de herança, criar , instanciar e imprimir?
:cry:
Brigado

Bem-vinda ao Portal Java Joice :joia…

Não entendi muito bem tua pergunta, tu tens dúvida com relação a herança entre classes ou em instanciar um objeto e chamar métodos nele? :roll:

[quote=“matheus”]Bem-vinda ao Portal Java Joice :joia…

Não entendi muito bem tua pergunta, tu tens dúvida com relação a herança entre classes ou em instanciar um objeto e chamar métodos nele? :roll:[/quote]

Os dois casos :cry: . pode me ajudar

[quote=“Joice”]
Os dois casos :cry: . pode me ajudar[/quote]

Posso sim. Vamos a um exemplo.

public abstract class Veiculo {

   public abstract void mover();
}

Carro é um veículo, logo extende a classe Veiculo

public class Carro extends Veiculo {

   public void mover() {
      System.out.println( "Carro andando" );
   }
}

Aviao tb é um veículo, logo tb extende a classe Veiculo

public class Aviao extends Veiculo {

   public void mover() {
      System.out.println( "Avião voando" );
   }
}

agora vamos aos exemplos de instanciação desses objetos:

Carro corsa = new Carro();
Carro palio = new Carro();

Aviao jumbo = new Aviao();
Aviao boeing = new Aviao();

corsa.mover();
paloi.mover();

jumbo.mover();
boeing.mover();

qualquer dúvida referente ao exemplo, poste :joia:

[size=“10”][color=“red”]* Editado[/color][/size]

não vai compilar, precisa declarar a classe como abstrata sempre que houver um metodo abstrato:

public abstract class Veiculo

podes fazer deste modo também:

Veiculo veic1 = new Carro(); Veiculo veic2 = new Aviao();
isso mostra diretamente os conceitos de Herança e Polimorfismo, embora veic1 e veic2 sejam Veiculos, o comportamento de veic1 é definido em Carro e de veic2 é definido em Aviao[/code]

Valeu pela correção viecili, esta deixei passar :ysleep:. Ja editei o código.

[quote=“viecili”]podes fazer deste modo também:

Veiculo veic1 = new Carro(); Veiculo veic2 = new Aviao();
isso mostra diretamente os conceitos de Herança e Polimorfismo, embora veic1 e veic2 sejam Veiculos, o comportamento de veic1 é definido em Carro e de veic2 é definido em Aviao[/quote]
Ou seja:
veic1.mover();
veic2.mover();
Apesar de instanciados como “Veiculo” usam o método mover() de Carro e Aviao, respectivamente.

Sendo a vantagem que você pode criar um array do tipo Veiculo contendo Carro e Aviao e se você instanciasse o veic1 como Carro e o veic2 como Aviao não teria como colocá-los em um mesmo array.

Oi, eu queria saber se o código abaixo está faltando algo.
Tb não consigo compilar ele no Eclipse ele não abre, então estou fazendo no bloco de notas…aparece a seguinte mensagem

Erro: could not find Java 2 Runtime Enviromnent

Pq acontece isso?

Olha esse é o código:

import java.io.*;


    public abstract class Investimento 
	{
    		public double asset;
    	    	public void asset()  
  	{  
    	  	} 

    public Investimento (double asset)

		double[] y = new double [x]
       
    		Asset1 objAsset=new Asset("Dolar",3);
    		Asset2 objAsset=new Asset("Ouro",4); 
    		
    		Asset3 objAsset=new Asset("Dolar",1);
    		Asset4 objAsset=new Asset("Pre",5);
    		
    		objAsset.ativar();
    		objAsset.ativar();
    		
    		objAsset.ativar();
    		objAsset.ativar();
	    	 }
	{ 

    	this.asset = asset;
     
   	       }

    
   		public double getAsset ()
	{

    	return asset;

   	      }

   	        public void setAsset (double asset)
	{

    	this.asset = asset;

 	      }

    public class Fundo extends Investimento 

	{

    		public int contrato;

    		public Fundo (double asset, int contrato)
	{	
                     
			super (asset);

		
    		 
   		 }
    		public class Carteira extends Investimento 

	{
    
   	        public Carteira(double vl)
	{


   			 super (double asset, vl, int contrato);

	    			  if (vl > 1.1) contrato = vl;
   						
		} 

                public double getContrato(vl/ 100);
         		
				 return contrato;  
          	}
   
					}

    	class Teste 

	{
    	
    		public void main (String args[])

		{

    			Investimento atividade1 = new Investimento ("Carteira: MarketAllocation");
    			Ativo atividade1 = new Ativo ("Fundo: Capital One" n "Ativo: Dolar =",+Asset1 "contratos");
                        Ativo atividade2 = new Ativo ("Ativo: Ouro =",+Asset2 "contratos");
                        
    		        Investimento atividade2 = new Investimento ("Fundo: Hedge One");
                        Ativo atividade3 = new Ativo ("Ativo: Dolar =",+Asset3"contratos");
                        Ativo atividade4 = new Ativo ("Ativo: Pre =",+Asset4"contratos");

                         
                                	 System.out.println(Investimento atividade1);
                                	 System.out.println(Ativo atividade1);
 					 System.out.println(Ativo atividade2);
					 System.out.println(Investimento atividade2);
 					 System.out.println(Ativo atividade3);
 					 System.out.println(Ativo atividade4);
  				       }
    				}
  			  }

[size=“11”]
[color=“red”]

  • Editado: Aumente as chances de alguém responder o seu tópico. Use BBCode em seus códigos para mantê-los identados e mais legíveis para outros usuários. - Matheus[/color][/size] :joia:

Teu problema é em instalar o SDK. De uma olhada nos tópicos deste mesmo fórum como fazê-lo corretamente :joia: