⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstracttest.java

📁 编程之道--java程序设计入门源代码
💻 JAVA
字号:
/**
 * 通过本程序的测试,主要学习抽象类及子类,抽象方法的实现
 * 动态绑定,多态
 */
 
import java.text.NumberFormat;

public class AbstractTest
{
	public static void main(String[] args)
	{
		Person[] p = new Person[2];
		p[0] = new Worker("Jack", 1000);
		p[1] = new Student("Tom", "Computer");
		
		for(int i = 0; i < p.length; i++)
		{
			Person people = p[i];
			System.out.println(people.getDescription());
		}
	}
}

/**
 * 抽象类
 */
abstract class Person
{
	private String strName;

	public Person(String strName)
	{
		this.strName = strName;
	}

	public String getName()
	{
		return strName;
	}

	//抽象方法,返回人的描述
	public abstract String getDescription();
}

/**
 * 工人类,扩展了抽象类,并实现了抽象方法
 */
class Worker extends Person
{
	private double salary;
	
	public Worker(String strName, double s)
	{
		super(strName);
		salary = s;
	}
	
	public String getDescription()
	{
		NumberFormat formate = NumberFormat.getCurrencyInstance();
		return "the worker with a salary of " + formate.format(salary);
	}
}

/**
 * 学生类,扩展了抽象类,实现了抽象方法
 */
class Student extends Person
{
	private String strMajor;
	
	public Student(String strName, String strMajor)
	{
		super(strName);
		this.strMajor = strMajor;
	}
	
	public String getDescription()
	{
		return "the student majoring in " + strMajor;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -