JAVA中类的继承高层次抽象类超类(Person)与连个简单子类(Student&&CEO)(Eclipse实例)

该博客展示了Java中抽象类的使用,通过一个Person抽象类及其两个子类Student和CEO的例子,说明了抽象方法如何在子类中实现。Person类包含一个抽象方法getDescription(),Student和CEO子类分别实现了这个方法,提供了不同的描述。代码示例中,PersonTest主程序创建了Person数组,包含了Student和CEO对象,并打印了它们的名字和描述。
摘要由CSDN通过智能技术生成

在JAVA设计语言之中,抽象方法是一个重要的概念,抽象方法充当着占位的角色,它们具体实现在子类中,拓展抽象类中定义部分抽象类方法或不定义抽象类方法,这样就必须将子类也标记为抽象类,另一种是定义全部抽象方法,这样一来,子类就是非抽象的了,本实例子类均为非抽象子类。

主程序:

package AbstractClaass;

public class PersonTest
{
   public static void main(String[] argus)
   {
	   Person[] p = new Person[2];
	   p[0] = new Student("Joey Chao","automaticity");
	   p[1] = new CEO("Jack Ma",1000000000,1964,9,10);
	   for(Person r : p)
		   System.out.println(r.getName()+","+r.getDescription());
   }
}

抽象类Person:

package AbstractClaass;

public abstract class Person
{
 public abstract String getDescription();
 private String name;
 public Person(String name)
 {
	 this.name = name;
 }
 public String getName()
 {
	 return name;
 }
}

子类Student:

package AbstractClaass;

public class Student extends Person
{
   private String major;
   public Student(String name,String major)
   {
	   super(name);
	   this.major =major;
   }
   public String getDescription()
   {
	   return"A student majoring in "+major;
   }
}

子类CEO:
 

package AbstractClaass;

import java.time.LocalDate;
public class CEO extends Person
{
   private double salary;
   private LocalDate hireDay;
   public CEO(String name,double salary,int year,int month,int day)
   {
	   super(name);
	   this.salary = salary;
	   hireDay = LocalDate.of(year, month, month);
   }
   public double getSalary()
   {
	   return salary;
   }
   public LocalDate getHireDay()
   {
	   return hireDay;
   }
   public String getDescription()
   {
	   return String.format("An CEO with a salary of $%.2f", salary);
   }
   public void raiseSalary(double byPercent)
   {
	   double raise = salary*byPercent/100;
	   salary += raise;
   }
}

运行效果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Joey.Chao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值