Você está aqui: Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em Java - Java OOP - Como chamar o construtor de uma superclasse a partir da classe derivadaQuantidade de visualizações: 18899 vezes |
Em algumas situações, é necessário efetuar uma chamada ao construtor de uma superclasse a partir da sub-classe, ou classe derivada. Principalmente quando temos que inicializar dados privados pertencentes à superclasse. Imaginemos o seguinte cenário: uma classe Pessoa cujo construtor recebe o nome e idade da pessoa. Temos então uma classe Aluno que herda de pessoa e cujo construtor recebe nome, idade e matrícula. Desta forma, temos aqui uma boa oportunidade para efetuarmos uma chamada ao construtor da superclasse a partir da classe derivada. Comece criando a classe Pessoa (Pessoa.java): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Pessoa{ public String nome; public int idade; // construtor da classe public Pessoa(String nome, int idade){ this.nome = nome; this.idade = idade; } } Compile Pessoa.java. Agora vamos criar um classe Aluno (Aluno.java) que herda da classe Pessoa: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Aluno extends Pessoa{ public String matricula; // construtor public Aluno(String nome, int idade, String matricula){ // chama o construtor da superclasse super(nome, idade); this.matricula = matricula; } } Compile Aluno.java e escreva o programa abaixo, que demonstra como a chamada ao construtor da superclasse é feita a partir da subclasse, ou classe derivada: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ public static void main(String args[]){ // cria um objeto da classe Aluno Aluno aluno = new Aluno("Osmar J. Silva", 36, "AC434-23"); // Exibe o resultado System.out.println("Nome: " + aluno.nome + "\n" + "Idade: " + aluno.idade + "\n" + "Matrícula: " + aluno.matricula); } } Execute este código e observe alguns detalhes interessantes. O mais importante é a forma de chamar o construtor da superclasse: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // chama o construtor da superclasse super(nome, idade); Veja como recebemos três variáveis no construtor da classe Aluno e passamos duas delas para o construtor da superclasse. |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Classes e Componentes ::: JComboBox |
Como retornar o valor do item selecionado em um JComboBox do Java Swing usando a função getSelectedItem()Quantidade de visualizações: 15494 vezes |
Nesta dica mostrarei como podemos usar o método getSelectedItem() da classe JComboBox do Java Swing para obter e retornar o valor do item selecionado. Note que usei uma conversão forçada (casting) para String antes de exibir o valor do item selecionado. Para finalizar, coloquei uma mensagem JOptionPane.showMessageDialog para exibir o valor do item selecionado no JComboBox. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Estudos extends JFrame{ JComboBox combo; public Estudos() { super("A classe JComboBox"); Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); // Cria os itens da lista String nomes[] = {"Carlos", "Marcelo", "Fabiana", "Carolina", "Osmar"}; // Cria o JComboBox combo = new JComboBox(nomes); // Um botão que permite obter o valor do item selecionado JButton btn = new JButton("Obter valor selecionado"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ String valor = (String)(combo.getSelectedItem()); JOptionPane.showMessageDialog(null, "O valor selecionado é: " + valor); } } ); // Adiciona o JComboBox à janela c.add(combo); // Adiciona o botão à janela c.add(btn); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Ao executar este código Java nós teremos uma mensagem JOptionPane.showMessageDialog com o seguinte texto: O valor selecionado é: Osmar |
Java ::: Coleções (Collections) ::: Queue |
Como criar uma fila em Java usando a interface QueueQuantidade de visualizações: 1013 vezes |
Uma fila é uma estrutura de dados do tipo FIFO (First-in, First-out), ou seja, o primeiro elemento a entrar é o primeiro a sair. Podemos pensar em uma estrutura de dados do tipo fila como uma fila real de um banco ou supermercado. A linguagem Java não fornece uma classe pronta chamada Queue. Em vez disse nós temos uma interface Queue e suas implementações concretas, a saber, as classes java.util.LinkedList e java.util.PriorityQueue. É claro que existem outras implementações, mas estas duas são as que usamos com mais frequencia. Como nesta dica a nossa intenção é representar uma fila comum, nós vamos descartar a classe PriorityQueue (fila de prioridade) e nos ater à implementação de Queue fornecida pela classe LinkedList. Vamos começar com um exemplo bem simples. Veja um trecho de código no qual enfileiramos 5 valores inteiros em uma fila e os desenfileiramos em seguida: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.LinkedList; import java.util.Queue; public class Estudos{ public static void main(String[] args){ // vamos criar uma fila de inteiros e adicionar 5 inteiros Queue<Integer> fila = new LinkedList<>(); fila.add(76); fila.add(80); fila.add(11); fila.add(32); fila.add(45); // agora vamos desenfileirar todos os elementos System.out.println("Ordem de remoção dos elementos da fila:"); while(!fila.isEmpty()){ System.out.print(fila.poll() + " "); } } } Ao executar este código Java nós teremos o seguinte resultado: Ordem de remoção dos elementos da fila: 76 80 11 32 45 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Java Básico - Lendo a nota de um aluno e classificando-a com as letras A, B, C, D ou EQuantidade de visualizações: 3776 vezes |
Exercício Resolvido de Java - Java Básico - Lendo a nota de um aluno e classificando-a com as letras A, B, C, D ou E Pergunta/Tarefa: Escreva um programa Java que lê a nota de um aluno e a classifica de acordo com as seguintes regras: 1) Maior ou igual a 9,00 - A 2) Maior ou igual a 8,0 e menor que 9,0 - B 3) Maior ou igual a 7,0 e menor que 8,0 - C 4) Maior ou igual a 6,0 e menor que 7,0 - D 5) Menor que 6,0 - E Sua saída deverá ser parecida com: Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos solicitar que o usuário informe a nota do aluno System.out.print("Informe a nota do aluno: "); double nota = Double.parseDouble(entrada.nextLine()); char letra = 'A'; // vai guardar a letra de classificação // a nota está dentro da faixa esperada? if((nota < 0) || (nota > 10)){ System.out.println("A nota esta fora da faixa esperada."); } else{ if(nota < 6.0){ letra = 'E'; } else if((nota >= 6.0) && (nota < 7.0)){ letra = 'D'; } else if((nota >= 7.0) && (nota < 8.0)){ letra = 'C'; } else if((nota >= 8.0) && (nota < 9.0)){ letra = 'B'; } else{ letra = 'A'; } } // vamos mostrar a classificação System.out.println("A classificação desta nota é: " + letra); System.out.println("\n"); } } |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?estados = {"SP": "SÃO PAULO", "GO": "GOIÁS", "RJ": "RIO DE JANEIRO"} estados.pop("RJ") print(estados) A) {'SP': 'SÃO PAULO', 'GO': 'GOIÁS'} B) {'RJ': 'RIO DE JANEIRO'} C) Um erro TypeError: pop expected at least 1 argument, got 0 na linha 3 D) {'SP': 'SÃO PAULO', 'GO': 'GOIÁS', 'RJ': 'RIO DE JANEIRO'} E) {'GO': 'GOIÁS', 'RJ': 'RIO DE JANEIRO'} Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Topografia |
Escalas FGV-2015 - Em uma carta topográfica, uma ferrovia de 30 km foi representada por uma linha de 6 cm de comprimento. Assim, é correto afirmar que a escala dessa carta é: A) 1:200.000. B) 1:500.000. C) 1:1.000.000. D) 1:2.000.000. E) 1:5.000.000. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Perfil em aço Alguns materiais fazem parte do processo de produção do aço ou até são resultantes de suas variações. Eles apresentam características que diferem entre si. Um desses materiais contém de 3 a 4% de carbono em sua composição. Assinale a alternativa que indica corretamente qual é esse material. A) Aço. B) Aço macio. C) Ferro fundido. D) Ferro forjado. E) Aço de médio carbono. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Noções de licitação pública O procedimento licitatório compreende duas fases: a fase interna, ocorrida dentro do órgão ou da entidade, e a fase externa. Sobre as fases da licitação pública, assinale "V" para as afirmativas verdadeiras e "F" para as falsas. ( ) Cabem à comissão de licitação a homologação e a adjudicação do certame. ( ) A fase de habilitação poderá ser invertida a critério da administração e mediante apresentação de justificativa da referida inversão. ( ) A publicação do instrumento convocatório é a última etapa da fase interna da licitação. A alternativa que apresente a sequência correta é: A) V, V, V. B) F, F, F. C) V, V, F. D) F, V, V. E) F, V, F. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Quando criamos um novo COGO Point usando a opção Manual do Point Creation Tool (Create Ground Data -> Points), qual é o primeiro parâmetro de ponto solicitado? A) Localização do ponto (point location) B) Número do ponto (point number) C) Nome do ponto (point name) D) Descrição do ponto (point description) Verificar Resposta Estudar Cards Todas as Questões |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |