java中调用父构造函数

2024-04-27

我有两节课Parent and Child,而Parent有一个需要 3 个参数的构造函数:

class Parent{
    public Parent(String host,String path,int port){
    }
}

现在我想要Child构造函数只需要一个参数,然后我尝试做这样的事情:

class Child extend Parent{
    public Child(String url){
        String host=getHostFromUrl(url);
        String path=....
        String port=...
        super(host,path,port);
    }
}

但这是行不通的。

有办法解决吗?

顺便说一句,我无法访问Parent class.


致电给super must是构造函数主体中的第一条语句。从JLS 第 8.8.7 节 http://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.8.7:

构造函数主体的第一条语句可以是对同一类或直接超类的另一个构造函数的显式调用(第 8.8.7.1 节)。

您只需要内联调用:

public Child(String url) {
    super(getHostFromUrl(url), getPathFromUrl(url), getPortFromUrl(url));
}

或者,解析once更清晰的 URL 表示,并调用同一类中的另一个构造函数:

public Child(String url) {
    this(new URL(url));
}

// Or public, of course
private Child(URL url) {
    super(url.getHost(), url.getPath(), url.getPort());
}

(我还没有检查这些成员是否会为java.net.URL- 这更多的是一种方法而不是细节。根据您的实际需求进行调整。)

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

java中调用父构造函数 的相关文章

随机推荐

  • Angular 4 单元测试:de.query(By.css(...)) 与 de.nativeElement.querySelector(...) 的 Native Web API

    使用有什么好处吗el de query By css h2 nativeElement 通过原生元素 APIel de nativeElement querySelector h2 它们提供相同的结果 刚开始使用 Angular 4 单元测
  • 使用只有一个元组值的变体类型构造函数

    type foo Foo of int int let t 1 2 Foo t Error The constructor Foo expects 2 argument s but is applied here to 1 argument
  • 在函数中调用 patsy 时出现命名空间问题

    我正在尝试为 statsmodels 公式 API 编写一个包装器 这是一个简化版本 该函数的作用远不止于此 import statsmodels formula api as smf def wrapper formula data kw
  • 更改卡片布局中的活动项目。扩展JS

    我有一个使用卡片布局的面板 如下所示 var cardpanel new Ext Panel id cardPanel title Card Layout region center layout card activeItem 0 aut
  • 我应该如何将我的语言服务器与我的客户端打包?

    我正在尝试为 VSCode 创建语言服务器 它由客户端和服务器组成 通过 RPC 进行通信 官方文档有一个工作示例 https code visualstudio com docs extensions example language s
  • Oracle 日期索引很慢。没有它查询速度快 300 倍

    我有一个 Oracle 查询 如下所示 运行时间为 10 分钟或更长时间 select r range text as duration range nvl count c call duration 0 as calls nvl SUM
  • 如何在 Bootstrap Modal 中使用 CKEditor?

    如果我使用CKEditor http cksource com ckeditor基于 Bootstrap 模板的 HTML 页面中的插件 效果很好 但是如果我像这样在 Bootstrap Modal 上插入编辑器 div class mod
  • 在 socket.on() 的回调上调度操作

    所以基本上我得到了这个套接字 它工作正常 向我发送 新订单 消息 我正在使用 redux 并且我想分派一个操作 然后减速器会得到它并且我的商店将会更新 但这段代码没有做任何事情 socket on new order order gt re
  • Twitter 错误无法发布推文

    这个错误可能是什么 Could not post Tweet Error 403 Reason Status is a duplicate 实际上这是一条经过编辑的消息 我得到的错误代码为403和原因为Status is a duplica
  • AttributeError:该层从未被调用,因此没有定义的输入形状

    我尝试通过创建三个类在 TensorFlow 2 0 中构建自动编码器 Encoder Decoder 和 AutoEncoder 由于我不想手动设置输入形状 因此我尝试从编码器的 input shape 推断解码器的输出形状 import
  • JSP:已为此响应调用 getOutputStream()

    我正在使用此代码从 FTP 下载文件 我在 tomcat 日志中遇到异常 如下所示 我能够执行我的任务 但我的日志大小增加了很多 Code if file exists if file canRead IE6 SSL PDF Bug htt
  • R 中的高级调试功能?

    R 中是否有任何软件包和 或 hack 可以为调试器提供更多功能 我专门寻找 能够跳过整个循环 无需调用即可单步执行函数调用的能力debug对他们也 设置断点或有效插入的能力browser当我已经在调试器中时调用代码 也就是说 如果我在调试
  • 如何在node.js中将mp3文件更改为wav文件

    我正在尝试将 mp3 文件转换为 wav 文件 但我不知道如何做到这一点 我尝试使用流利的 ffmpeg https www npmjs com package fluent ffmpeg图书馆 但我不知道如何使用它 我终于用 Fluent
  • 从 AspectJ 获取返回值或异常?

    我能够从建议的方法调用中获取签名和参数 但我无法弄清楚如何获取返回值或异常 我有点假设它可以通过使用 around 并继续以某种方式完成 您可以使用after returning and after throwing开头的建议以下文件 ht
  • Android 插件太旧(2.4.0-alpha7)

    我正在使用 android studio 2 4 并收到此错误 显然我必须更新我的 android 插件 但是当我检查 jcenter 的新版本时 唯一的版本 可用的是2 5 0 alpha 预览 02 这会导致完全相同的错误 我还在错误消
  • 无法拦截Android应用程序的流量

    最近 我正在尝试测试和拦截来自开发的应用程序的流量罗莫比尔 我设置了一个代理burp 当然 我已经在我的设备上安装了 burp 证书 因此我可以拦截设备上的其他应用程序 但我无法在 burp suite 上看到相关应用程序的流量 相反 该应
  • Neo4j 入门

    我对 neo4j 完全陌生 很抱歉问这样一个基本问题 我已经安装了 neo4j 我正在使用 shell localhost 7474 webadmin console 我正在寻找一个很好的示例 它使用一些 shell 命令从预先存在的图形数
  • jQuery,将分隔符更改为点并除以两个选定的数字

    var result parseFloat lot2 text parseFloat span Price text result text result 如何将选定值从逗号分隔值转换为点分隔值 有这个函数str replace 但我不知道
  • 向 Rails 中的所有活动链接添加“活动”类?

    基本上 我有很多类似这样的代码 link to t profile business path business class active if current page business path business 这不是很干 我想知道是
  • java中调用父构造函数

    我有两节课Parent and Child 而Parent有一个需要 3 个参数的构造函数 class Parent public Parent String host String path int port 现在我想要Child构造函数