希望您现在已经得到答案,如果没有,那么它可能对您有用。
我在论坛中遇到过类似的问题。
abstract
和strictfp
不能放在方法声明中的原因是因为说abstract
该方法不能由当前类实现,它必须由具体的子类实现,并且strictfp
说该方法应该由使用的类strictfp
。所以在这种情况下,两个关键字相互矛盾,因此在方法声明中不允许两者一起使用。
但是在上课前使用abstract
和绝对合法。strictfp
就像是
public abstract strictfp class MyAbstractClass{} //is ok
如果您在抽象类中声明 strictfp,则默认情况下其所有方法都将是 strictfp。记住类中的所有具体方法,而不是抽象方法。
运行下面给出的示例并查看 OP:
import java.lang.reflect.*;
public abstract strictfp class AbstractStrictfp
{
public abstract void abstractMethod();
public void concreteMethod(){};
public static void main(String args[]){
Method methods[] = AbstractStrictfp.class.getMethods();
for(Method method : methods){
System.out.println("Method Name::"+method.getName());
System.out.println("Modifiers::"+Modifier.toString(method.getModifiers()));
System.out.println();
}
}
}