Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跨多个文件的Java多类继承_Java_Inheritance - Fatal编程技术网

跨多个文件的Java多类继承

跨多个文件的Java多类继承,java,inheritance,Java,Inheritance,我正在尝试从不同的文件继承类 当我只是调用另一个文件中的类时,它就工作了 当我调用另一个文件中的类(从第三个文件中的类继承)时,我会得到一个错误,如error:cannotfind symbol 以上对我很有用 //ClassA.java public class ClassA{ public void DoSomething() { //do something } } 以上这些对我不起作用。当我试图引用我试图从中继承的类的实例变量时,我遇到了一个类似于

我正在尝试从不同的文件继承类

  • 当我只是调用另一个文件中的类时,它就工作了

  • 当我调用另一个文件中的类(从第三个文件中的类继承)时,我会得到一个错误,如
    error:cannotfind symbol

  • 以上对我很有用

    //ClassA.java
    
    public class ClassA{
        public void DoSomething() {
            //do something
        }
    }
    
    以上这些对我不起作用。当我试图引用我试图从中继承的类的实例变量时,我遇到了一个类似于
    error:not find symbol
    的错误

    我查了一些其他的答案,所以没用


  • 我怎样才能像这样跨多个文件继承?

    您的语法不正确。首先,您不能命名变量
    var
    (这是一个保留字)。其次,没有括号就不能调用构造函数

    ClassB var = new ClassB;
    
    应该是

    ClassB v = new ClassB();
    
    不能将
    main
    重命名为
    main
    (如
    public staic void main(String[]args){
    )。类有一个大写字母。方法名必须是小写的
    main

    ClassA var = new Class A
    
    需要像

    ClassA a = new ClassA();
    
    public class Main {
        public static void main(String[] args) {
            ClassA v = new ClassA();
        }
    }
    
    您的编辑正在引入更多的打字错误。这

    public class Main{
        public staic void main(String[] args) {
            ClassA var = new Class A
        }
    }
    
    需要像

    ClassA a = new ClassA();
    
    public class Main {
        public static void main(String[] args) {
            ClassA v = new ClassA();
        }
    }
    
    应该是:

    public class Main{
        public static void main(String[] args) {
            ClassB classVar = new ClassB();
        }
    }
    

    静态代替staic

    您所说的“不适用于我”是什么意思?您遇到了什么错误?您能否验证您实际使用的是
    static
    而不是“staic”?否则,这应该作为一个输入错误关闭。并且获得一个编译器/IDE,它提供更好的错误消息,这应该是显而易见的。是的,我使用的是静态的,而不是staic。
    var
    在Java中不是保留字。
    public class Main {
        public static void main(String[] args) {
            ClassA v = new ClassA();
        }
    }
    
    public class Main{
        public static void main(String[] args) {
            ClassB classVar = new ClassB();
        }
    }