我在这两项家庭作业上做了一些工作,我需要知道我的答案是否正确。
public abstract class Account { public Account( ) { . . . } } public class BankAccount extends Account { private double balance; public BankAccount (double amount) { super( ); balance = amount; } } public class CheckingAccount extends BankAccount { private String customerName; public CheckingAccount (String name, double amount) { <Missing Statement> } . . . }
问题1.在CheckingAccount的构造函数中,以下哪一项是可接受的替代?
我
balance = amount; customerName = name;
II。
super(amount); customerName = name;
III。
super (name,amount);
可能:
我只有 我只有 我和II
II和III
I,II和III问题2.以下哪项声明有效?
予。
Account acct = new BankAccount(10.00);
II。CheckingAccount acct = new BankAccount (10.00);
III。BankAccount acct = new CheckingAccount("Amy", 10.00);
可能的:
I和II
II和III
我和III
I,II和III
三者中没有一个
我的回答:
您认为这些问题的答案是什么?
答案 0 :(得分:1)
问题1:
只有II是正确的。
III是不正确的,因为没有定义构造函数BankAccount(String,double)
。请注意,BankAccount
不知道您要填充的name
字段是否存在。
问题2:
我和III是正确的
由于您无法将BankingAccount
分配到CheckingAccount
变量,因此II不正确。 BankAccount
不是CheckingAccount
。如果您以后尝试访问BankAccount
中未定义的任何方法会发生什么?
III是正确的,因为CheckingAccount
是BankingAccount
。