java中同一个包下的两个类含有多个重名的方法,有的需要互相调用,有的只能调用本类的,该如何实现?

比如:java工程下,同一个package下有类A和类B,类A含有方法x(),y(), 类B含有方法x(),y(),z(). 其中重名的方法x()的方法体不同,参数列表相同。并且,两个类里面都有主函数。现在:我在类A中,声明一个对象a,用对象a.x()调用的方法到底调的是A中的,还是B中的呢?该如何控制去调用类A和类B的方法呢?

1、private修饰词,表示成员是私有的,只有自身可以访问;
2、protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包内的其他类也可以访问protected成员。
3、无修饰词(默认),表示包访问权限(friendly, java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++ ),同一个包内可以访问,访问权限是包级访问权限;
4、public修饰词,表示成员是公开的,所有其他类都可以访问;
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-09-11
在A类中,如果你要调用A的x方法用this.x(),要调用B类的方法用new B().x()或B b=new B() 用b.x()调用
第2个回答  2014-09-11
建议你去看看方法的重写和重载,我不知道你的这两个类是否有继承关系 所以不好回答!
相似回答