[Tecnología Java Core (Volumen I)]: vscode compila y ejecuta manualmente clases heredadas

  • Referencia-P160 ~ P161

  • Hay tres clases principales: una clase de prueba (ManagerTest), una subclase (Manager) y una clase principal (Empleado)

  • Precauciones:
    -1 usando javac -d . *.javaprecompilado
    Inserte la descripción de la imagen aquí

    La estructura del directorio
    Inserte la descripción de la imagen aquí
    es la siguiente: En este momento, la estructura del directorio se generará de la siguiente manera:
    Inserte la descripción de la imagen aquí

  • Correr tras java com.inheritance.ManagerTest
    Inserte la descripción de la imagen aquí

  • Adjunta el código de varias clases

// com.inheritance.Manager.java
package com.inheritance;

public class Manager extends Employee{
    
    
  private double bonus;

  public Manager(String name, double salary, int year, int month, int day) {
    
    
    super(name, salary, year, month, day);
    bonus = 0;
  }

  public double getSalary() {
    
    
    double baseSalary = super.getSalary();
    return baseSalary + bonus;
  }

  public void setBonus(double b) {
    
    
    bonus = b;
  }
}
// com.inheritance.Employee.java
package com.inheritance;

import java.time.*;

public class Employee {
    
    
  private String name;
  private double salary;
  private LocalDate hireDay;

  public Employee (String name, double salary, int year, int month, int day) {
    
    
    this.name = name;
    this.salary = salary;
    hireDay = LocalDate.of(year, month, day);
  }

  public String getName() {
    
    
    return name;
  }

  public double getSalary() {
    
    
    return salary;
  }

  public LocalDate getHireDay() {
    
    
    return hireDay;
  }

  public void raiseSalary(double byPercent) {
    
    
    double raise = salary * byPercent / 100;
    salary += raise;
  }

}
// com.inheritance.ManagerTest.java
package com.inheritance;

public class ManagerTest {
    
    
  public static void main(String[] args) {
    
    
    Manager boss = new Manager("Carl Cracker", 80000, 1987, 12, 15);
    boss.setBonus(5000);

    Employee[] staff = new Employee[2];

    staff[0] = new Employee("Harry Hacher", 50000, 1989, 10, 1);
    staff[1] = new Employee("Tommy Tester", 40000, 1990, 3, 15);

    System.out.println("name: " + boss.getName() + ", salary: " + boss.getSalary());

    for(Employee e : staff) {
    
    
      System.out.println("name: " + e.getName() + ", salary: " + e.getSalary());
    }
  }
}

Supongo que te gusta

Origin blog.csdn.net/piano9425/article/details/110458993
Recomendado
Clasificación