java调用scala 伴生类_为什么我不能访问scala中类的伴生对象中的私有类方法?

我正在为我的面向对象设计类做作业,我遇到了scala的伴生对象的问题。我在一些地方读过,伴生对象应该可以访问其伴生类的私有方法,但我似乎无法使其工作。(正如一个注释,任务的核心与实现二进制搜索树有关,所以我不仅仅是在寻求答案…)

我有一个对象,它应该创建我的私有类bsttlas的实例(bst也是在atlas对象中定义的,为了清晰起见将其取出):

object Atlas {

def focusRoom(newRoom:Room,a:Atlas):Atlas = a.helpFocusRoom(newRoom);

abstract class Atlas {

...

protected def helpFocusRoom(n:Room):Atlas;

...

}

private class BstAtlas(bst:Bst) extends Atlas {

...

protected def helpFocusRoom(newRoom:Room):Atlas = ...

// uses some of bst's methods

...

}

}

但当我开始编译时,我得到了以下错误:

问题23.scala:15:错误:方法

无法在中访问HelpFocusRoom

阿特拉斯,阿特拉斯

a.HelpFocusRoom(新房);

HelpFocusRoom函数需要隐藏,但我不知道如何隐藏它,并且仍然可以在伴生对象内部访问它。

有人能告诉我我这里做错了什么吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值