相关疑难解决方法(0)

从Java中的静态方法获取类名

如何从该类中的静态方法获取类的名称.例如

public class MyClass {
    public static String getClassName() {
        String name = ????; // what goes here so the string "MyClass" is returned
        return name;
    }
}
Run Code Online (Sandbox Code Playgroud)

为了把它放在上下文中,我实际上想要在异常中将类名作为消息的一部分返回.

java static

232
推荐指数
10
解决办法
17万
查看次数

将文件加载为InputStream的不同方法

有什么区别:

InputStream is = this.getClass().getClassLoader().getResourceAsStream(fileName)
Run Code Online (Sandbox Code Playgroud)

InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName)
Run Code Online (Sandbox Code Playgroud)

InputStream is = this.getClass().getResourceAsStream(fileName)
Run Code Online (Sandbox Code Playgroud)

每个人何时比其他人更适合使用?

我想要读取的文件在类路径中作为我的类来读取文件.我的类和文件位于同一个jar中,并打包在EAR文件中,并部署在WebSphere 6.1中.

java inputstream

210
推荐指数
3
解决办法
19万
查看次数

在Java中调用静态方法中的非静态方法

当我尝试在静态类中调用非静态方法时,我收到错误.

无法从类型回放中对非静态方法methodName()进行静态引用

我不能使方法静态,因为这也给我一个错误.

此静态方法无法从xInterface隐藏实例方法

有没有办法在另一个静态方法中调用非静态方法?(这两种方法分别是单独的包和单独的类).

java static non-static

118
推荐指数
6
解决办法
35万
查看次数

如何从静态上下文中获取getclass().getResource()?

我有一个函数,我试图将文件加载到一个URL对象,因为示例项目说.

public class SecureFTP {

    public static void main(String[] args) throws IOException , ClassNotFoundException, SQLException , JSchException, SftpException{
        File file = new File("/home/xxxxx/.ssh/authorized_keys");
        URL keyFileURL = this.getClass().getClassLoader().getResource(file);
Run Code Online (Sandbox Code Playgroud)

我尝试过使用SecureFTP.class.getResource,但仍无法编译.

我对Java很新,所以我知道我做错了什么.

java url getresource

34
推荐指数
4
解决办法
5万
查看次数

获取当前课程的参考

也许这是一个琐碎的问题,但是在Java中有什么方法可以获取当前的类引用?像是this上课,而不是对象?例如。在静态方法中,我需要引用当前类,如何获取它?:

public class Test {
    public static void test(){
        this.getClass(); // not working, can not use this to return class object Test
    }
}
Run Code Online (Sandbox Code Playgroud)

要进一步说明我的问题:

JAVA中是否有类似于this当前类的东西,或者ClassName.class即使我在某个类中,也必须使用来获取该类的引用吗?

java oop class this

5
推荐指数
1
解决办法
7546
查看次数

静态方法中不能引用非静态方法

我研究了这个,似乎仍然无法解决这个问题.我的程序中有以下内容:

   public void InsertDB(double price, double shares, String ticker, int id)throws Exception {
   //do some stuff
   }
Run Code Online (Sandbox Code Playgroud)

我在我的主类中尝试了以下内容(并且在静态上下文中无法引用上面的错误非静态方法):

InsertDB(constants[i], variables[i], ticker[i], count);
Run Code Online (Sandbox Code Playgroud)

然后我读到你必须创建一个新实例,所以我尝试(Testingground是我的程序的名称),我得到一个错误,说它找不到InsertDB符号:

Testingground myObject = new InsertDB();
Run Code Online (Sandbox Code Playgroud)

我是java新手并继承了这个程序(我的程序没有遇到过这个问题),有人可以告诉我我能做些什么才能让它工作以及它背后的逻辑?(我的insertdb类给了我错误,如果我把它变成静态,这样方法将无法正常工作).我还读到如果我改变它可能会工作public,protected但它仍然无效.

提前致谢

java

0
推荐指数
1
解决办法
2850
查看次数

标签 统计

java ×6

static ×2

class ×1

getresource ×1

inputstream ×1

non-static ×1

oop ×1

this ×1

url ×1