jar无法访问java的其他项目中的方法
我创建了一个java项目,它的主体有以下类
package tfimvalidation;
public class ValidateToken {
public void display()
{
System.out.println("Yor package imprort succesfully");
}
}
这是java项目,现在我已经创建了这个项目的jar文件,并将它添加到我的动态web项目中
我可以使用以下语句访问ValidateToken类和包
ValidateToken validateToken = new ValidateToken();
但我无法访问validateToken。显示()
它给出了这种类型的错误; 令牌“display”上出现语法错误,此令牌后面应为标识符
这是第二个项目的代码,我使用了第一个项目的jar。 导入tfimvalidation。验证技术
public class Main
{
ValidateToken validateToken=new ValidateToken();
validateToken.display(); //Here gives above shown error.
}
# 1 楼答案
不能只在这样的类声明中调用方法。可以在类声明中声明字段,但方法调用(用于字段初始值设定项的调用除外)必须在方法或构造函数中。例如:
# 2 楼答案
你在做什么
你该怎么办
首先,在类内调用display函数,但在主类内调用display函数,这在java中是不允许的 jar中的方法是非静态的,所以必须在创建对象后调用它
如果要调用display();用类名做 在你的罐子里
在你调用jar函数的课堂上
注意:也要导入包
# 3 楼答案
出现编译时错误的原因是,您正在
class body
中调用token.display();
,而不是在方法或其他code block
中调用。你不能那样做。最不可能的变化是:下面的声明:
变成这样的方法
其他选项
1)初始化块
2)内部构造函数
3)静态块
当你把这些语句放在你的
main method
之外时,你需要创建新的对象,这样Init Block or Constructor will run
如果它在static block
内,它将在类加载到内存中时被调用,但我认为你也希望重用对象进行进一步的处理,所以我建议你把这些行放在main Method
内# 4 楼答案
从main/any-other方法调用void-type方法,而不是像声明如下字段那样调用:
或者
或者
如果它是一个返回类型为int的方法,您可以执行以下操作