首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在java中,谁会像在C++中一样扮演朋友函数的角色呢?

在java中,谁会像在C++中一样扮演朋友函数的角色呢?
EN

Stack Overflow用户
提问于 2010-01-22 02:48:32
回答 4查看 5.5K关注 0票数 3

在java中,谁会像在C++中一样扮演朋友函数的角色呢?它在java中是如何工作的?

谢谢..

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-01-22 02:50:11

与C++朋友最接近的是缺省访问修饰符,也称为包保护或包私有。这只允许从同一包中的其他类访问成员。

这也是将类放在同一个包中,而不是根据功能分组到子包中的最好理由。

票数 8
EN

Stack Overflow用户

发布于 2010-01-22 02:50:01

Java中没有友元函数的概念。您最好的选择是了解Java是如何实现visibility - package-private (默认)的,您可能会对此特别感兴趣-- here's a quick tutorial

票数 7
EN

Stack Overflow用户

发布于 2010-01-22 03:04:12

很有可能你的设计有点不对劲。确实不应该有一个朋友函数,这就是为什么Java没有在它的语言中包含它的原因。函数应该紧挨着它使用的数据所在的位置,如果不是,那么该数据应该作为参数传递到函数中。在我看来,友元函数违背了面向对象编程的主要思想。C++倾向于允许您创建非OO程序,即使该语言完全支持OO编程所信奉的概念。

我会考虑修改你的设计,使功能更接近数据所在的位置,这样你就不会有这个问题了。但是,这并不总是可行的,特别是当您正在使用遗留系统时。在这种情况下,您应该考虑适配器类、getter和setter或参数。这只是我的两个观点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2111940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档