如何从单独的文件夹编译和运行项目?

时间:2015-09-11 12:48:41

标签: java

我只写了一个简单的项目,它总结了两个数字。我的项目是在3个seprate文件夹中进行的:

1-Operator interface(e:\ operator)

package operator;

public interface Operator
{
    int claculate(int firstNumber,int secondNumber);

}

2类加上实现运算符(e:\ operation):

package operation;

import operator.*;

public class Plus implements Operator
{   
    public int claculate(int firstNumber,int secondNumber)
    {
        return firstNumber + secondNumber;
    }
}

3个主要项目(e:\ main)

package main;
import operator.*;
import java.lang.*;

public class Sum
{
    public static void main(String args[])
    {
        int num1 = 5;
        int num2 = 7;

        Operator instance;
        Class cls;

        instnace = (Operator)cls.newInstance();
        int output = instance.calculate(num1,num2);
        System.out.println("your result is :" + output);
    }
}

现在当我像这样编译这个3文件夹时: javac main / .java operation / .java operator / * .java 我收到此错误:无法找到符号实例 我该如何导入这三个具有依赖关系的文件夹并编译它们?

2 个答案:

答案 0 :(得分:1)

好吧,首先你有一个拼写错误,因为你调用instnace并且声明的变量是instance所以我认为这是编译错误的原因

然后,您必须编译第一个运算符,然后编译Plus将运算符添加到类路径,最后将最后一个运算符添加到类路径中。

以这种方式添加类路径

javac -cp directory_with_clases your_java.java

但相反,我认为值得一提的是,maven会帮助你很多。

答案 1 :(得分:1)

您已定义Operator instance;而不是Operator instnace 可能是它的错字。但它不是你需要最终调用接口方法的方式。 这样简单

import operation.*;

Operator instance = new Plus ();