单项选择题

关于面向接口和抽象编程,下列说法不正确的是()

A.面向接口编程即要求我们在设计时只用interface不用class
B.面向接口编程与面向实现编程是相对的,即在设计时应当尽量依赖于抽象的接口,而不是具体的实现
C.当一函数声明的返回值为类型A时,那么事实上它可以返回任意类型A的子类型对象
D.当一变量声明为类型B时,那么事实上它可以被赋值为任意类型B的子类型对象