这有点难以解释,但我到处都看,我找不到任何好的答案.
我也看过Stack Overflow问题如何引用接口在Java中实现的类类型?和如何返回相同类型的对象的实例作为类中使用Java 6过去了?,但他们无法回答我的问题.应用继承时有一个例外.
有一个例子,让它更容易理解:
假设我有一些名为SelfMaker的界面:
public interface SelfMaker <SELF>{
public SELF getSelf();
}
Run Code Online (Sandbox Code Playgroud)
A有一只狗,可以与另一只狗生育.所以狗是一个"SelfMaker",像这样:
public class Dog implements SelfMaker<Dog> {
String color;
public String toString() {
return "some " + color + " dog";
}
public Dog procreate(Dog anotherDog) {
Dog son = getSelf();
son.color = color;
return son;
}
@Override
public Dog getSelf() {
return new Dog();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我有一只国内狗,他是一只狗,但它有一个可爱的家庭,他给他起了个名字.像这样:
public class DomesticDog extends Dog {
private String name;
public String toString() {
return …Run Code Online (Sandbox Code Playgroud) 当涉及没有泛型的类时,我可以像这样访问这个.class属性:
class Foo{
Class<Foo> getMyClass(){
return Foo.class;
}
}
Run Code Online (Sandbox Code Playgroud)
但是如果Foo有一个泛型,我如何访问这个".class"属性?像这样:
class Foo<T>{
Class<Foo<T>> getMyClass(){
return (Foo<T>).class //this doesnt work...
}
}
Run Code Online (Sandbox Code Playgroud)
我试图回来Foo.class,但这不会起作用:"cannot cast from Class<Foo> to Class<Foo<T>>".
我怎样才能Foo<T>上课?
我正在尝试在DOSBOX中创建一个新目录.我在Debian上,通过DOSBOX使用MASM.代码非常简单,但不起作用.
我已经用debug执行了它,它返回错误3(执行后AX = 0003h).根据这个,这个错误是因为该路径不存在.我的DOSBOX将C:驱动器安装在.asm代码所在的目录中.
我不明白为什么我会收到这个错误.如果我mkdir C:\nuevo从DOSBOX命令行运行,它将创建目录nuevo没有问题
.model small
.stack
.code
mov dx, offset filepath
mov ah, 39h
int 21h
mov ah, 4ch
int 21h
ret
filepath db "C:\nuevo", 0
end
Run Code Online (Sandbox Code Playgroud) 在你将它标记为重复之前:我已经看到了你能否<li> s没有它们在<ul>或<ol>之下?但他们通过使用样式来解决问题.
这里是我的问题:我可以有<li>内部的项目<custom-tag>,而不是<ul>或<ol>元素?
所以这样的事情:
<ul>
<li>one</li>
<li>two</li>
<li>d</li>
<li>three</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
看起来像这样:
<custom-tag>
<li>one</li>
<li>two</li>
<li>d</li>
<li>three</li>
</custom-tag>
Run Code Online (Sandbox Code Playgroud)
问题的背景
我想为simditor创建一个新组件:orderer列表中罗马数字的组件,但它将其识别ol为"内置" ol按钮......似乎它使用标签名称来检测按钮是否处于活动状态在一个编辑器上,所以我想通过使用另一个名称的标签来解决这个问题,现在,这个解决方案似乎比重写整个库更容易.
我必须承认,使用模板时Java有点混乱......
正如标题所解释的那样,我正在尝试使用在某些泛化属性的超类上编码的静态成员.我怎样才能做到这一点?
例如:
class A {
public static void someAction();
}
class B<T extends A>{ (...) }
Run Code Online (Sandbox Code Playgroud)
¿如何someAction()在B类中访问A的方法?