java - java中如何在不扩展抽象类的情况下访问抽象类方法

标签 java abstract-class

我是java新手,当我在互联网上搜索通过java获取HTTP响应代码时,我开始了解java中的[HttpURLConnection]类。这个类是抽象类,因此我无法实例化这个类。所以我的问题是我有一个 URL 对象以及如何在我的代码中使用这个抽象类。这可能是非常基本的问题,但您的回答将有助于从根本上理解 java。

提前致谢

https://docs.oracle.com/javase/8/docs/api/java/net/HttpURLConnection.html

最佳答案

您从表示 http:(或 https:)的 URL 实例获取 HttpURLConnection 对象协议(protocol) URL,来自其 openConnection method 。您返回的是对符合 URLConnection 定义的接口(interface)的对象的引用。抽象类(但它将是 HttpURLConnection 子类的实例)。

您通常不需要知道您正在使用的具体类;你code to an interface它定义了你应该能够利用你所拥有的东西做的事情。然后,这些事情由您引用的对象的具体类来完成。

具体来说:

is there way to user methods of Abstract class without using the class which extends the Abstract Class

如果它们是实例方法,则不是。线索就在名字里。 ;-) 要使用实例方法,您必须有一个实例。要拥有一个实例,您必须拥有一个该实例所属的具体(非抽象)类。

但再说一遍:通常您并不关心该类是什么,只关心您有一个符合您需要使用的接口(interface)的实例。

关于java - java中如何在不扩展抽象类的情况下访问抽象类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47557954/

相关文章:

java - 谁能解释如何从 SonarQube 为 java 项目添加 xml 报告

java - 我们可以在Java中有一个自定义的垃圾收集器吗?

PHP。是否可以将非抽象方法重新声明为抽象方法?

Ruby 抽象类设计

php - 在 Laravel 中通过依赖注入(inject)解决抽象类的依赖

java - 使用 Java 解压 Microsoft Infopath .xsn 文件

java - 为共享首选项自动生成 getter setter

java - 让用户创建业务或个人联系人的代码

c++ - 初始化基类的引用成员

Java - 尝试搜索 ArrayList 时不执行 For 循环