访问具有相同名称的方法

时间:2018-02-14 18:17:21

标签: java class object methods

我有三个类都有一个同名的方法。我的Main类有方法(当用户点击鼠标时自动调用):

public void mouseDown() 

我的第二堂课名为Bed,其方法如下:

public void mouseDown()

我的第三个类名为CreateBedButton,并且具有方法(返回Bed对象):

public Bed mouseDown()

我可以进入床位课程#39; mouseDown方法很容易从Main中的mouseDown方法,但我不知道如何表明我想调用CreateBedButton类' mouseDown方法。他们都没有参数,但是当我打电话给床课时。 mouseDown方法我通过我创建的Bed对象访问它:

bed.mouseDown();

当我试着打电话时:

mouseDown();
来自Main的

,它再次调用Main方法的mouseDown方法。有什么方法可以访问所有三种方法/明确我真正想要访问哪种方法??

1 个答案:

答案 0 :(得分:0)

致电.mouseDown()以访问Main类'方法。致电bed.mouseDown()以访问Bed课程'方法。致电createRedButton.mouseDown()致电CreateRedButton班级'方法

这假定您声明了变量Bed bed = new Bed();CreateRedButton createRedButton = new CreateRedButton()

以下是一个例子。

class Main {

    public void main(String [] args) { // Starting point of program
        Bed bed = new Bed();
        CreateRedButton createRedButton = new CreateRedButton();
        mouseDown(); // Calls Main's mouseDown();
        bed.mouseDown(); // Calls Bed's mouseDown(); 
        Bed catchingBed = createRedButton.mouseDown(); // Calls CreateRedButton's mouseDown(); - Which returns a Bed

        // Or you can even do this..
        CreateRedButton redButton = new CreateRedButton();
        Bed bed = redButton.mouseDown();
        bed.mouseDown();
    }
    public void mouseDown() {
        // Some code
    }
}
class Bed {

    public void mouseDown() {
        // Some code
    }
}
class CreateRedButton {
    public Bed mouseDown() {
        // Some code to return a Bed
    }
}