化妆品网站优势,个人做网站需要多少钱,番茄todo社区视频免费看,wordpress自己创建数据库abstract#xff1a;
1、用来修饰类#xff0c;此类被称为抽象类。且此类不能够实例化#xff0c;包含构造器的#xff0c;因为子类对象实例化时#xff0c;需要调用父类的构造器。可以没有抽象方法。
2、此方法称为抽象方法#xff0c;此方法只有方法的声明#xff0…abstract
1、用来修饰类此类被称为抽象类。且此类不能够实例化包含构造器的因为子类对象实例化时需要调用父类的构造器。可以没有抽象方法。
2、此方法称为抽象方法此方法只有方法的声明没有方法体。
其功能是确定的通过方法的声明来确定只是不知道功能如何实现体现为方法体
子类必须重写父类所有方法方可实例化。否则仍是抽象类。 abstract不能修饰私有方法、static方法、final方法、final类
*私有方法不能重写abstract则必须重写
*静态方法允许调用而abstract的父类方法不能调用
*final方法不能重写abstract则必须重写
*final类不能有子类abstract有子类 例题
Employee类
public abstract class Employee {private String name;private int number;private Mydate birthday;public Employee() {}public Employee(String name, int number, Mydate birthday) {this.name name;this.number number;this.birthday birthday;}public String getName() {return name;}public void setName(String name) {this.name name;}public int getNumber() {return number;}public void setNumber(int number) {this.number number;}public Mydate getBirthday() {return birthday;}public void setBirthday(Mydate birthday) {this.birthday birthday;}public abstract double earning();public String toString(){return 姓名,name数字,number生日birthday.toDateString();}
}
Mydate类
public class Mydate {private int year;private int month;private int day;public Mydate() {}public Mydate(int year, int month, int day) {this.year year;this.month month;this.day day;}public int getYear() {return year;}public void setYear(int year) {this.year year;}public int getMonth() {return month;}public void setMonth(int month) {this.month month;}public int getDay() {return day;}public void setDay(int day) {this.day day;}public String toDateString(){return year年month月day日;}
}
SalariedEmployee类
public class SalariedEmployee extends Employee{private double monthlySalary;public SalariedEmployee() {}public SalariedEmployee(String name, int number, Mydate birthday, double monthlySalary) {super(name, number, birthday);this.monthlySalary monthlySalary;}public void setMonthlySalary(double monthlySalary) {this.monthlySalary monthlySalary;}public double earning(){return monthlySalary;}public String toString(){return SalariedEmployee[ super.toString()];}}
HourlyEmployee类
public class HourlyEmployee extends Employee {private double wage;private int hour;public HourlyEmployee() {}public HourlyEmployee(String name, int number, Mydate birthday, double wage, int hour) {super(name, number, birthday);this.wage wage;this.hour hour;}public double getWage() {return wage;}public void setWage(double wage) {this.wage wage;}public int getHour() {return hour;}public void setHour(int hour) {this.hour hour;}public double earning(){return wage*hour;}public String toString(){return HourlyEmployee[ super.toString()];}
}
PayrollSystem类
import java.util.Scanner;public class PayrollSystem {public static void main(String[] args) {Scanner scannernew Scanner(System.in);Employee[] enew Employee[2];e[0]new SalariedEmployee(马国森, 123, new Mydate(2001, 1, 1),5000);e[1]new HourlyEmployee(王悦,123,new Mydate(2001,2,2),32,5);System.out.println(请输入月份);int inputscanner.nextInt();for (int i 0; i e.length; i) {System.out.println(e[i].toString());System.out.println(工资:e[i].earning());if (input e[i].getBirthday().getMonth()) {System.out.println(生日快乐加薪200);}}scanner.close();}}