简体   繁体   中英

Java - No enclosing instance of the type … is accessible in scope

I have this class:

public class PetAssembly extends Global
{
    public Socket socket;
    public ConnectionManager user;

    public PetAssembly(Socket socket, ConnectionManager user)
    {
        this.socket = socket;
        this.user = user;
    }

    public void initPet()
    {
        sendPacket(socket, "0|PET|I|0|0|1");
        sendPacket(socket, "0|PET|S|1000|1|0|8000|50000|50000|1000|1000|50000|50000|" + (((user.user.getSpeed() * 30) / 100) + user.user.getSpeed()) + "|testPet");
    }
}

I want to use it:

case "/pet":
      PetAssembly.this.initPet();
break;

But it gives me this error, how to fix it? I'm a beginner : No enclosing instance of the type PetAssembly is accessible in scope

PetAssembly.initPet() is an instance method. You first need to construct an object of PetAssembly (an instance of that class), and then have a reference to that object before you can invoke a method on it.

PetAssembly pa = new PetAssembly(socket, user); 
// Creates a new PetAssembly object
// and stores a reference to that in the variable pa.
pa.initPet(); 
// Calls the initPet() method on the PetAssembly object referred to by the variable pa.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM