这两个对象创建之间有什么区别,其中汽车是超类,丰田是子类...
汽车t =新Toyota(); Toyota T =新Toyota();
(我相信我们不能做这样的事情:Toyota T = new car(); ....为什么?)
继承让我感到困惑,多态性也让我感到困惑...任何帮助将不胜感激
区别在于对象的类型t
:在第一种情况下,只有car
的方法可用,而在第二种情况下,您还将获得toyota
-specific方法(如果有)。
这是一个例子:
public class car {
public void drive() {...}
public void stop() {...}
}
public class toyota extends car {
public void drive() {... /*toyota-specific code*/}
public void stop() {... /*toyota-specific code*/}
public void rollUpWindows() {...}
}
如果您声明
car c = new toyota();
你可以打电话drive
和stop
,但不会rollUpWindows
。如果您声明
toyota c = new toyota();
您可以调用所有三种方法。
编程接口的一般概念类似于上面的案例1。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句