有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java主类实例访问

我无法编译以下代码。无法理解此处的编译过程。为什么主类实例对其他类不可见(test1)。为什么它在编译方面失败了。请帮忙

public class test {
    public int i = 10;
    public static void main(String[] args) {
           System.out.println("test main");
    }
}
class test1 {
     test t = new test();
     System.out.println(t.i);
 }

共 (2) 个答案

  1. # 1 楼答案

    System.out.println(t.i);语句应该在块或方法中

    例如,您可以将其放置在块中(静态或非静态,无需担心)

    public class test1 {
        test t = new test();
    
        static { //static can be omitted
            System.out.println(t.i);
        }
    }
    

    位置在方法内

    public class test1 {
        test t = new test();
    
        public static void printSomething() { //static can be omitted
            System.out.println(t.i);
        }
    }
    

    更多信息(感谢@vidudaya):

  2. # 2 楼答案

    System.out.println(t.i); 
    

    一定是在某种方法里面

    public class Test {
        public int i = 10;
        public static void main(String[] args) {
            System.out.println("test main");
        }
    }
    
    
    class Test1 {
    
        Test t = new Test();
    
        public void printI(){
            System.out.println(t.i);
        }
    
    }
    

    还要遵守java命名约定。类名必须以大写字母开头。变量和方法必须采用驼峰格式