Java:关于嵌套类

时间:2014-01-26 04:58:02

标签: java class

我需要一些课程:分数,课程和差点。文件是“handicap.java”,因此主要类是“障碍”。

如果我尝试将Score类或Course类嵌套在“障碍”类中,我会在尝试实例化任一类的实例时收到此错误:

handicap.java:129: non-static variable this cannot be referenced from a static context
                        Score sc = new Score(score, course);
                                   ^
handicap.java:141: put(java.util.GregorianCalendar,Score) in java.util.Map<java.util.GregorianCalendar,Score> cannot be applied to (java.util.GregorianCalendar,handicap.Score)
                        g.scores.put(greg, sc);

如果我在Score类声明中添加“static”,我仍然会收到第二个错误。帮助

守则在这里:http://pastebin.com/CvT1SCvb

2 个答案:

答案 0 :(得分:1)

看看这个

public class Handicap {

    public class Score{

    }

    public static class ScoreStatic{

    }

    public static void main(String[] args) {
        Handicap h = new Handicap();
        h.method();
        new Handicap.ScoreStatic();
    }

    public void method(){
        new Handicap.Score();
    }
}

答案 1 :(得分:0)

从它看起来,你得到编译错误。

请阅读有关嵌套类:http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html

的信息

这是它的工作方式:

    public class handicap{
    public static void main(String... args) {
         handicap st = new handicap();
         handicap.Score fl = st.new Score();

     }

    class Score{
      //blah
     }

   }