2013-08-09 4 views
-1

내 Java 플러그인에 문제점이 있습니다. 이것은 전에 본 적이 없었습니다. 정상적인 것은 모두 좋았습니다. 무슨 잘못유형 중첩 된 유형 CubeRanks가 묶는 유형을 숨길 수 없습니다.

package me.brian.CubeRanks; 

import me.brian.CubeRanks.CubeRanks; 
import org.bukkit.plugin.java.JavaPlugin; 
import java.util.ArrayList; 
import java.util.logging.Logger; 
import org.bukkit.ChatColor; 
import org.bukkit.command.Command; 
import org.bukkit.command.CommandSender; 
import org.bukkit.entity.Player; 
import org.bukkit.plugin.PluginManager; 


public class CubeRanks { 

    public class CubeRanks extends JavaPlugin { 

     public static CubeRanks plugin; 
     public final Logger log = Logger.getLogger("Minecraft"); 
     public boolean enabled = false; 
     public final PlayerListener pl = new PlayerListener(this); 
     public final ArrayList<Player> OreHunterUsers = new ArrayList<Player>(); 
     public String cr = "[CubeRanks] "; 


     @Override 
     public void onEnable() { 
      log.info(cr + "is now enabled."); 
      PluginManager pm = getServer().getPluginManager(); 
      pm.registerEvents(pl, this); 

     } 

     @Override 
     public void onDisable() { 
      log.info(cr + "is now disabled."); 
     } 

     @Override 
     public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) { 
      if(commandLabel.equalsIgnoreCase("CubeRanks")) { 
       if(args.length==0) { 
        if(!enabled) { 
         enabled = true; 
         ((Player) sender).sendMessage(ChatColor.GREEN + cr + "is now enabled"); 
        } 
        else { 
         enabled = false; 
         ((Player) sender).sendMessage(ChatColor.RED + cr + "is now disbaled"); 
        } 
       } 
      } 
      return false; 
     } 
    } 
} 

사람이 볼 수 있습니다 여기에

코드인가?

전체 오류 코드 : 중첩 형 CubeRanks이 바깥 쪽 형식 CubeRanks.java/CubeRanks/SRC/나/브라이언/CubeRanks 라인 (16) 자바 문제의

사진을 숨길 수 없습니다

설명 리소스 경로 위치 유형 오류 : This is the error

+0

내부 클래스 이름을 둘러싸는 클래스와 같을 수 없습니다. –

+0

그럴 수 없습니다. 다시 확인하십시오. 누락 된 것이 있어야합니다. –

답변

0

동일한 이름의 클래스를 포함하는 클래스가 있습니다. 외부 CubeRanks 클래스가있는 이유는 확실하지 않지만 외부 클래스를 제거하거나 그 중 하나의 이름을 바꿉니다.

public class CubeRanks { // remove or rename 

    public class CubeRanks extends JavaPlugin { // or rename this 
     ... 
    } 

} 

구문 적 바깥 클래스는 다음과 같은 모호성 제거하는 것입니다 당신이 같은 이름 인 내부 클래스를 가질 수 없습니다 이유 :

public class Ambiguous { 
    public class Ambiguous { 
     Ambiguous a; // <-- which type is Ambiguous referring to here? 
    } 
} 

당신은 가장 최근에 주장 할 수를 타입 이름을 감싸는 것이 우선 할 수 있지만, 외부 타입을 어떻게 참조 할 것인가? 이론적으로는 모든 것을 둘러싼 언어를 설계하는 방법이 있지만이를 허용하지 않는 것이 더 쉽습니다.

관련 문제