我是一个java新手,所以请帮助我理解这一点。
例如
class a{...}
class b extends a{
public static void main(...){
a x = new a();
b y = new b();
a z = new b();
}
这三个实例有什么区别?我应该什么时候使用每一个?
编辑:更正了最后的陈述
最佳答案
您可以使用a
作为代码重用方法的参数。即我们可以定义一个方法(使用参数a
)如此通用,以至于它可以与其任何派生类一起使用(b
,..)
例如:考虑使用此方法来读取 Stream
public void Read(Stream s)
{
//read s
}
现在您可以在 Stream
的所有派生
类中重用此方法
Read(new FileStream(PATH));//read File
Read(new NetworkStream(URL));//read url
Read(new MemoryStream(object));//read memory object
关于java - new <childclass>() 和 new <parentclass>() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18779627/