gpt4 book ai didi

java - 这句话是什么意思……?

转载 作者:行者123 更新时间:2023-11-30 07:32:02 25 4
gpt4 key购买 nike

最近我遇到了这样的说法:

InputStream in = new FileInputStream(Filename);

这句话是什么意思?

在这里面in指的是什么?

中是FileInputStream的对象吗?

编写语句: InputStream is = new InputStream(); 会产生一个错误,因为 InputStream 是一个抽象类,但是为什么我们有这个类的构造函数?---> InputStream()

最佳答案

此语句正在利用继承的影响。您正在创建 FileInputStream 对象的新实例并将其分配给 in 变量。

就此变量的用户而言,他们只能看到 InputStream 类型的对象 - 它可以是抽象类 InputStream 的任何子类。在这一行之后,您可以在此对象上调用 InputStream 类中声明的任何方法。即使该对象实际上是一个 FileInputStream,您也看不到它,因此无法调用这些方法(不强制转换)。

构造函数的存在使得子类可以调用它来实例化和设置所有输入流需要的任何实例方法。您不能调用它,但子类可以调用它。

关于java - 这句话是什么意思……?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6862749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com