我们可以直接实例化抽象类吗? [复制]

2024-02-20

我读过我们只能通过继承来实例化抽象类,但不能直接实例化它。
但是,我看到我们可以通过调用另一个类的方法来创建具有抽象类类型的对象。
例如 -LocationProvider是一个抽象类,我们可以通过调用来实例化它getProvider()函数在LocationManager class:

LocationManager lm = getSystemService(Context.LOCATION_PROVIDER);
LocationProvider lp = lm.getProvider("gps");

这里抽象类是如何实例化的呢?


不能直接实例化抽象类,但在没有具体类的情况下可以创建匿名类:

public class AbstractTest {
    public static void main(final String... args) {
        final Printer p = new Printer() {
            void printSomethingOther() {
                System.out.println("other");
            }
            @Override
            public void print() {
                super.print();
                System.out.println("world");
                printSomethingOther(); // works fine
            }
        };
        p.print();
        //p.printSomethingOther(); // does not work
    }
}

abstract class Printer {
    public void print() {
        System.out.println("hello");
    }
}

这也适用于接口。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我们可以直接实例化抽象类吗? [复制] 的相关文章

  • 加快 ImageView 中的缩放功能

    我目前正在处理非常大的图像 7 10mb 由于多种原因无法调整大小或压缩 现在 我们的想法是在自定义 ImageView 中显示它们 使用户能够进行双击缩放 捏合缩放等 我使用这个库来完成这项工作 https github com Mike
  • Android 改变 ImageView / Bitmap 的颜色

    我需要找到一种方法来改变 Android 中位图的颜色 我需要在我的应用程序中平滑地替换 更改椭圆形图像的颜色 具体取决于int价值 我需要类似的东西myValue 5比改变我的图像的颜色RED and if myValue 322将颜色更
  • 使用 JUnit 时,有没有办法验证测试方法中是否调用了 try/catch 指令的 Catch 部分?

    例如 如果我想测试以下课程 public class SomeClass public void someMethod try Some code where comething could go wrong catch Exception
  • Jackson XML ArrayList 输出具有两个包装器元素

    我在 Jackson 生成的 XML 输出中得到了两个包装器元素 我只想拥有一个 我有一个 Java bean Entity Table name CITIES JacksonXmlRootElement localName City pu
  • 从手机访问本地主机[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在使用
  • 如何检测 Java 字符串中的 unicode 字符?

    假设我有一个包含 的字符串 我如何找到所有这些 un icode 字符 我应该测试他们的代码吗 我该怎么做呢 例如 给定字符串 A X 我想将其转换为 AYXY 我想对其他 unicode 字符做同样的事情 并且我不想将它们存储在某种翻译映
  • 如何从 Facebook 邀请好友到 Android 应用程序? - 给出错误

    我正在开发一个 Android 应用程序 我正在努力将 邀请朋友 功能添加到我的应用程序中 它转到我的AppLinkUrl成功但显示错误 我的清单代码如下
  • ACCESS_BACKGROUND_LOCATION 不适用于低于 Q (29) 的 Android 版本

    我的应用程序面向 Android API 28 根据文档 https developer android com preview privacy location target android 10 我应该要求ACCESS BACKGROU
  • Java Swing For mac 中的 DJ Native Swing 浏览器

    我有一个用 Swing 制作的 Java 应用程序 并且使用了一个 DJ Native Swing 浏览器 当我尝试在 OS X 上使用它时 它抛出了一个NoClassDefFoundError尽管我添加了 swt jar 但始终如此 有人
  • 在另一个模块中使用自定义 gradle 插件模块

    我正在开发一个自定义插件 我希望能够在稍后阶段将其部署到存储库 因此我为其创建了一个独立的模块 在对其进行任何正式的 TDD 之前 我想手动进行某些探索性测试 因此 我创建了一个使用给定插件的演示模块 到目前为止 我发现执行此操作的唯一方法
  • 检测 ListView(或 ScrollView)内的滚动位置

    我正在构建一个聊天室应用程序 其中每 X 秒就会轮询一次新事件 每次发生这种情况时 此代码都会使用新数据更新 RoomAdapter ArrayAdapter 的自定义子类 并将其滚动到底部 RoomAdapter adapter Room
  • GWT 2.3 开发模式 - 托管模式 JSP 编译似乎不使用 java 1.5 兼容性

    无法编译 JSP 类 生成的 servlet 错误 DefaultMessage 上次更新 0 日期 中 0 时间 HH mm ss z 语法 错误 注释仅在源级别为 1 5 时可用 在尝试以开发模式在 Web 浏览器中打开我的 gwt 模
  • 使用 Mockito 模拟某些方法,但不模拟其他方法

    有没有办法使用 Mockito 模拟类中的某些方法 而不模拟其他方法 例如 在这个 诚然是人为的 Stock我想嘲笑的班级getPrice and getQuantity 返回值 如下面的测试片段所示 但我想要getValue 执行乘法 如
  • Java实现累加器类,提供Collector

    A Collector具有三种通用类型 public interface Collector
  • 流中的非终结符 forEach() ?

    有时 在处理 Java Stream 时 我发现自己需要一个非终端 forEach 来触发副作用但不终止处理 我怀疑我可以用 map item gt f item 之类的方法来做到这一点 其中方法 f 执行副作用并将项目返回到流中 但这似乎
  • 在 SWT/JFace RCP 应用程序中填充巨大的表

    您将如何在 SWT 表中显示大量行 巨大是指超过 20K 行 20 列的东西 不要问我为什么需要展示那么多数据 这不是重点 关键是如何让它尽可能快地工作 这样最终用户就不会厌倦等待 每行显示某个对象的实例 列是其属性 一些 我想使用 JFa
  • java库维护数据库结构

    我的应用程序一直在开发 所以偶尔 当版本升级时 需要创建 更改 删除一些表 修改一些数据等 通常需要执行一些sql代码 是否有一个 Java 库可用于使我的数据库结构保持最新 通过分析类似 db structure version 信息并执
  • JMenu 中的文本居中

    好吧 我一直在网上寻找有关此问题的帮助 但我尝试的任何方法似乎都不起作用 我想让所有菜单文本都集中在菜单按钮上 当我使用setHorizontalTextPosition JMenu CENTER 没有变化 事实上 无论我使用什么常量 菜单
  • Android 中的 Google Places API - 适用于个人用户的 API_KEY

    我已经浏览了与在 Android 应用程序中使用 Places API 相关的 Android 文档和其他博客 到处都建议使用 API KEY 来调用 REST 服务 API KEY 在整个项目 应用程序中都是相同的 每天的请求数限制为 1
  • 将 Apache Camel 执行器指标发送到 Prometheus

    我正在尝试转发 添加 Actuator Camel 指标 actuator camelroutes 将交换 交易数量等指标 发送到 Prometheus Actuator 端点 有没有办法让我配置 Camel 将这些指标添加到 Promet

随机推荐

  • 参数 1 具有意外类型“Ui_mainWindow”

    我正在尝试为我在这里的一些人的帮助下编写的一个小程序制作一个 GUI 无论如何 我在 PyQt 中制作了 GUI 它看起来不错 我添加了一个名为 dirButton 的按钮 上面写着 选择目录 self dirButton QtGui QP
  • 在同一个 DOM 元素上使用 ng-show 和 ng-hide 是否正确?

    我想知道在同一个 DOM 元素上使用 ng show 和 ng hide 是否是一个好习惯 这似乎是一个更好的主意 而不是在一个 ng show 中使用多个条件 其中一些条件是否定的 让我知道 谢谢 PS 这里有一个例子 div Mary
  • jQuery 验证器所需的最少字数

    我正在寻找一种使用 jQuery 验证某些输入文本区域的方法 不幸的是 尽管 jQuery 验证器插件很棒 但它缺乏验证 据我所知 最少所需单词 我没有携带代码 我将在早上编辑 但我编写了一个函数来计算输入中的单词数 但这并不像插件提供的那
  • Django 1.9.2 AssertionError:数据库连接未设置为 UTC

    我现在已经使用 PostgreSQL 设置了 3 个服务器 但到目前为止还没有看到这个问题 我现在正在设置第一台不在丹麦服务器上运行的服务器 并且在从网络访问数据库时开始出现错误 我可以毫无问题地使用 createsuperuser 并且它
  • 如何为数组分配排名号

    我有一个数字数组 例如 myarray 45 3 56 7 21 我需要做的是将这些值排列到另一个数组中 因此对于上述内容 我最终会得到 myarray2 4 1 5 2 3 非常感谢 Adam 好了 完整的解决方案
  • 如何将 Delphi XE 包和设置移至其他用户?

    我们已经建立了一个新的 模板 开发机器 其中包括 Delphi XE 其中包括大量第三方和内部软件包 并打算为我们团队中的开发人员制作该计算机的多个克隆 请注意 我们并不是试图绕过许可 我们在克隆后 重新 激活 注册 Windows Off
  • Mac OS下安装pygresql时出现clang错误

    我试图在 Mac OS X 10 11 3 下安装 PyGreSQL 但从 pip 和源安装时会出现相同的 clang 错误 python3 setup py install running install running bdist eg
  • 如何将所有以前的提交合并到一个提交中?

    Context 在 GitHub 上启动项目并一直在尝试 git 命令 该项目的历史是混乱的 问题 如何删除所有历史记录并将所有提交消息替换为 已上传项目源的初始版本 之类的内容 此选项将允许您保留项目的所有配置文件 git reset s
  • DataTable Linq 连接许多列

    我在使用 Linq Join 时遇到问题 我想连接 2 个表 它们具有相同的 n 列结构 我的问题是我不知道这些列的名称 那么我如何在 select new 中重写这些列 表 1 这里我有一些 ID Name 和 LastName 参数 注
  • MySql 错误:1364 字段“display_name”没有默认值

    我刚刚从 MAMP 安装切换到本机 Apache MySql 和 PHP 安装 我已经一切正常 但我已经开始在新环境中使用我的网络应用程序 突然任何 INSERT 命令都会导致以下错误 SQLSTATE HY000 一般错误 1364 字段
  • 为什么 nasm 找不到 cmake 中的 include 语句

    我正在使用一个模块化引导加载程序 我觉得设置它使用 Gas 比将 nasm 移植到 cmake 更痛苦 似乎并非如此 NAsm 无法找到包含文件 我缺少什么 完整的代码可以在这个 Github 存储库 https github com Co
  • 为什么 Google 智能锁对话框只有“从不”和“保存”两个选项,而没有“否”?

    Smart Lock 弹出对话框只有两个按钮 一个是 从不 另一个是 保存密码 如果用户不小心点击了 从不 SmartLock就会被禁用 直到他使用chrome应用程序删除 从未保存过的密码 项 这对于 懒惰用户 来说步骤太多了 而且很有可
  • 不同播放器(AVAudio Player 和 MPMusicPlayer)同时播放时是否可以使用不同的音量?

    我需要使用音频和音乐播放器为不同的播放器设置不同的音量级别 我正在播放这两个播放器 但我不知道如何设置不同的不同音量级别 谢谢你 马丹 莫汉 假设您的 avaudioplayer 名为 theAudio 要控制音量 请说 theAudio
  • Prolog二叉搜索树测试-不需要的父节点的父节点比较

    我是 Prolog 菜鸟 请记住这一点 我尝试编写一个谓词来确定某个给定术语是否是二叉搜索树 我想出了这段代码 is btree nil is btree node N L R number N is btree L is btree R
  • 在 C# 中动态获取美元对印度卢比的汇率?

    我正在开发一个 Windows 应用程序来将美元转换为印度卢比 我知道如何通过以静态方式将美元兑换为印度卢比汇率进行转换 但我希望汇率在我的只读文本框中动态可用 就像我在上图中保留的那样 在搜索 SO 后 我在 C 中找到了这个解决方案 但
  • 在 VS 2008 中为单个项目关闭 Intellisense

    我有一个包含大约 1000 个类的项目 不 没有办法方便地将这个项目分成多个 仅加载项目就需要大约 20 分钟 因为智能感知会缓慢地浏览所有类 并占用近 1GB 内存 有没有办法为单个项目关闭 Intellisense 但为解决方案中的所有
  • Java:通过 Parse.com REST API 将日期对象作为 JSONObject 发送

    我正在尝试使用 HttpsUrlConnection 通过 Parse 的 REST API 在 Parse com 数据库中创建一个新对象 他们的 REST API 只接受 JSON 我已经让一切正常工作 数据库将接受新的对象条目 除非我
  • Pip 21.1 无法导入 InvalidSchemeCombination

    在工作中 我们使用 Github 操作来构建和测试我们的 Pull 请求 然后才能获得批准 周五下午 一切都进展顺利 周一早上 所有测试都很早就失败了 错误显示 pip 无法再找到自己的异常 最新的 Pip 有什么变化吗 正如您在下面的错误
  • 在 asp.net 中的网络位置创建文件

    在我的 ASP net 应用程序中 我创建一个文本文件并将数据写入该文件 我将该文件保存在服务器上的指定位置 这是一个内联网应用程序 当我使用 Visual studio net 在本地运行应用程序时 我可以通过应用程序创建 写入文件并将其
  • 我们可以直接实例化抽象类吗? [复制]

    这个问题在这里已经有答案了 我读过我们只能通过继承来实例化抽象类 但不能直接实例化它 但是 我看到我们可以通过调用另一个类的方法来创建具有抽象类类型的对象 例如 LocationProvider是一个抽象类 我们可以通过调用来实例化它get