Discuss / Java / 不是说要用抽象方法吗?

不是说要用抽象方法吗?

Topic source

作业那个脚本下载下来怎么是有实例化的啊?这还怎么抽象啊?

// Income[] incomes = new Income[] { new Income(3000), 

// public abstract class Income {

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

你再仔细想想

我也想知道为什么?

除了给第一个new Income改成其他类(创建一个新子类)和删掉这个实例想不到其他办法,老师仔细讲讲呗?

我也想知道为什么?这种编译都过了,难道抽象类可以实例化了?

嗯,我大概明白什么意思了,这应该不算是实例化。

// **TODO**: 用抽象类给一个有工资收入和稿费收入的小伙伴算税:

Income[] incomes = **new** Income[] { **new** SalaryIncome(7500), **new** RoyaltyIncome(12000) };

这个代码可以写为

Income[] incomes = { **new** SalaryIncome(7500), **new** RoyaltyIncome(12000) };

应该说,这是定义了一个Income类型的一个数组,至于为什么后面加上new Income[]也不出问题,我还不知道怎么解释。


  • 1

Reply