当我调用这个方法时,它在java中不起作用

当我调用这个方法时,它在java中不起作用,java,minecraft,bukkit,Java,Minecraft,Bukkit,当我从Company类调用getNamecompanyName方法时,它不会从yml向用户发送公司的名称,它只是抛出许多异常。但是,当我将getNamecompanyName方法返回的代码放入sender.sendMessage时,它确实会向用户发送公司名称。为什么会这样 将在其中执行方法的类: package me.ben.Corporation.commands; import me.ben.Corporation.Company; import me.ben.Corporation.Co

当我从Company类调用getNamecompanyName方法时,它不会从yml向用户发送公司的名称,它只是抛出许多异常。但是,当我将getNamecompanyName方法返回的代码放入sender.sendMessage时,它确实会向用户发送公司名称。为什么会这样

将在其中执行方法的类:

package me.ben.Corporation.commands;

import me.ben.Corporation.Company;
import me.ben.Corporation.Config;
import me.ben.Corporation.Corporation;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;

public class CorporationCommand implements CommandExecutor
{
    Config companiesFile = Corporation.plugin.companiesFile;
    Company company;

    public boolean onCommand(CommandSender sender, Command cmd, String     cmdLabel, String[] args)
    {
        companiesFile.reload();

        if (cmdLabel.equalsIgnoreCase("corporation"))
        {
            if (args[0].equalsIgnoreCase("test"))
            {
                sender.sendMessage(company.getName(args[1]));
            }
        }
        return false;
    }
}
方法getNamecompanyName所在的类:

package me.ben.Corporation;

public class Company
{
    Config companiesFile = Corporation.plugin.companiesFile;

    public String getName(String companyName)
    {
        companiesFile.reload();
        return companiesFile.getConfig().getString("companies." + companyName.toLowerCase() + ".name");
    }
}
插件读取和写入的YAML文件:

    companies:
      simpleco:
        assets:
          cash: {}
          property: {}
        directors: {}
        expenses: {}
        liabilities: {}
        name: SimpleCo
        revenue: {}

将getName方法设置为静态。

无效意味着?你能告诉我整个方法的位置吗?我猜你的范围有问题。另外,您遇到的实际问题是什么?不仅如此work@MageXy我能把整个班级都写进去吗?有错误吗?你调试了吗?看在上帝的份上,有什么异常?如果它使用一个可能的实例变量companiesFile,它怎么可能是静态的?