2014-09-03 7 views
-2

클래스에는 정적 변수가 있지만 클래스 외부에서는 사용할 수 없습니다.정적 변수의 메서드를 사용할 수 없습니다.

다음은 코드입니다. 내가 Cache.login.hget("a", "b")을 사용할 수 없습니다, 그것은 말한다 Cannot access hset(...) in com.example.cache.HashCache

Cache.java :

public class Cache { 
    public static HashCache login; 
    public Cache(String redisUrl) { 
     Jedis redis = new Jedis(redisUrl); 
     Cache.login = new HashCache(redis, "name"); 
    } 
} 

HashCache.java : 그것은 정답이 때부터

class HashCache { 
    private Jedis jedis; 
    private String key; 

    public HashCache(Jedis jedis, String key) { 
     this.jedis = jedis; 
     this.key = key; 
    } 

    public String hget(String field) { 
     return jedis.hget(key, field); 
    } 

    public void hset(String field, String value) { 
     jedis.hset(key, field, value); 
    } 
} 
+0

전체 오류 메시지를 게시하십시오. –

+1

'hget' 또는'hset'입니까? –

+3

'class HashCache'에'public' 키워드가 없습니다. 다른 패키지의 해당 클래스를 사용하려고합니까? 그것은 대중과 함께 작동하지 않습니다. – markspace

답변

1

, 나는 여기에 넣어 것이다 : 당신은이 HashCache 클래스에 public 키워드를 추가하십시오. 패키지 외부에서 사용되는 모든 클래스/메소드 등은 public이어야하며 액세스 할 수 없습니다.

0

클래스 HashCache는 일반적으로 액세스 수정 자로 인해 코드 조각에 액세스 할 수없는 문제가 발생할 때마다 공개로 선언되어야합니다.

관련 문제