java如何只运行一个函数_如何在java中调用super之前运行一个函数?

我有一个构造函数,它获取HashSet和HashMap.我需要在一个hashMAp上运行验证检查并将其与hashSet结合使用,因为’super’必须只接收一个hashSet.

当我得到以下错误时,我无法找到方法:在超类型构造函数之前无法引用它

例:

public class A extends B {

public A(HashSet h1, HashMap m1) {

super(new C (h1) ); //h1 should contain changes related to m1..

}

我想做那样的事情:

public class A extends B {

public A(HashSet h1, HashMap m1) {

runMyFunc(h1,m1);

super(new C (h1) );

}

runMyFunc(HashSet h1, HashMap m1){

//do checks

//more checks...

// if something then h1.setUid(m1.get(0))...

return h1;

}

我想将构造函数转换为私有,然后像这样运行它:

public class A extends B {

private A(HashSet h1) {

super(new C (h1) );

}

public A(HashSet h1, HashMap m1) {

runMyFunc(h1,m1);

this(h1);

}

但它也没有用.

你能建议吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值