从另一个类访问非静态方法

时间:2019-02-22 16:21:46

标签: java class methods

public class Canvas {
    public void erase(){}
}    

我想在另一个类中使用该擦除方法,但是由于它似乎不是静态的,所以我不能只是这样做

public class Country {
    Canvas.erase();
}

那我该如何访问该方法?

4 个答案:

答案 0 :(得分:2)

您需要首先创建该类的一个对象(实例),然后调用其方法,例如:

Canvas canvasInstance = new Canvas();
canvasInstance.erase();

答案 1 :(得分:1)

您唯一的选择是:

  1. 使方法静态

    公共静态无效的delete(){}

  2. 从Canvas实例调用该方法

    new Canvas()。erase();

答案 2 :(得分:0)

非静态方法只能用对象引用来调用。创建Canvas类的实例,然后调用擦除方法,如

Canvas canvas = new Canvas();
canvas.erase();

答案 3 :(得分:0)

我喜欢的方式具有Canvas的静态引用,因此这是这样做的方式:

public class Canvas
{
    public static Canvas cObj;

    public void erase() { }
} 


public class Country {

    public void CallMethod()
    {
        Canvas.cObj.erase();
    }
}

这样,您就可以轻松地从Class County调用Class Canvas上的擦除