为什么我能够在java中访问没有对象的方法

时间:2016-01-30 14:30:20

标签: java methods

这是我的代码:

public class MyProjectPage extends AbstractPage {
    public boolean addDefaultProjectBymyProjects(String softwareName, String projectName,) {
        navigateTomyProjects();
    } 

    public void navigateTomyProjects() {
        clickElement(By.xpath(properties.getProperty("x.Myprojects.Icon")), "MyProjects");
    }
}

我可以在没有对象的情况下访问方法navigateTomyProjects();这怎么可能?

注意:clickElement是抽象页面中的通用方法

2 个答案:

答案 0 :(得分:1)

navigateTomyProjects()实例方法 它是从另一个实例方法addDefaultProjectBymyProjects()调用的。

没有对象就不能访问这些方法;它们由this访问 - 当前实例将执行这些方法。

这段代码没什么神秘之处。

答案 1 :(得分:1)

方法navigateTomyProjects()addDefaultProjectBymyProjects()都作为实例方法存在于同一个类中。因此,任何一种方法都可以访问另一种方法,而无需显式创建该类的对象。

更准确地说,addDefaultProjectBymyProjects()在内部调用navigateTomyProjects()this.navigateTomyProjects()。这里,this关键字引用当前对象(调用对象)。