Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.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 - Fatal编程技术网

Java术语

Java术语,java,Java,我是Java新手,想了解更多。我有一个当前的问题,我想得到一个答案,但我也想知道这项技术是指什么,以便我可以做一些进一步的阅读 我现在有这样的东西: public class BasicActivityExtension { public Boolean basicExtensionMethod() { } ... } public class MyExtension extends BasicActivityExtension { public Boolean myE

我是Java新手,想了解更多。我有一个当前的问题,我想得到一个答案,但我也想知道这项技术是指什么,以便我可以做一些进一步的阅读

我现在有这样的东西:

public class BasicActivityExtension {
    public Boolean basicExtensionMethod() { }
    ...
}

public class MyExtension extends BasicActivityExtension {
    public Boolean myExtensionMethod() { }
    ...
}
然后在我的服务方法中(忽略(我不知道如何让<留在这里):

错误是 无法从类强制转换到MyExtension


另外,如果我有一个对象类

我怎么能调用BasicActivityExtension中的泛型方法而不关心它是什么类呢?

你所做的就是所谓的强制转换

出现此问题的原因是,您正在从方法
getExtensionByActivity
返回类型为
Class
的对象。但是,您正试图将其强制转换为类型为
MyExtension
的对象。您可以通过从
ClassgetExtensionByActivity
的返回类型来解决此问题de>到
MyExtension

似乎您需要

<T extends BasicActivityExtension>
public T getExtensionByActivity(BasicActivity activity, ExtensionTypes type) {
....
}

公共T getExtensionByActivity(基本活动活动,ExtensionTypes类型){
....
}
指定
Class
时,它必须是类对象,而不是类的实例


java:避免盲目地抛出< C++ >异常>代码>有更好的处理java异常的方法。

欢迎来到java世界,开始Java 1.5泛型(类似C++模板)。在Java中你可以阅读更多关于泛型的文章。 在给定的代码中,不清楚
basicextension
myextensionactivity
之间的关系

为了调用
basicextensionactivity
中的方法,您必须按照称为
程序的方法调用接口
模式

您的代码应该如下所示

public Class<T extends BasicExtensionActivity> getBasicExtensionActivity(...) throws Exception.
公共类getBasicExtensionActivity(…)引发异常。

希望这能有所帮助。

现在还不清楚
BasicActivityExtension
basicExtension
之间的关系是什么。你能澄清一下吗?另外,像
basicExtension
这样的类名应该是大写的。干杯,看看我哪里弄错了真的很有用-类和对象是如此不同,但我把他们搞混了,干杯。谢谢你的额外阅读,已经用它锻炼了一点,学会了如何做设定干杯,
<T extends BasicActivityExtension>
public T getExtensionByActivity(BasicActivity activity, ExtensionTypes type) {
....
}
public Class<T extends BasicExtensionActivity> getBasicExtensionActivity(...) throws Exception.