我可以让这段代码在没有对象作为抽象方法输入参数的情况下工作。例如,如果我亲自将printInformation()
方法的输入参数设置为printInformation(int x)
,emp就会起作用。
当我将输入参数作为printInformation()
方法的对象时,它抛出了一个错误
emp不是抽象的,并且不会覆盖person类emp extends person{^
abstract class person{
abstract void printInformation(person p);
}
class emp extends person{
emp(){
System.out.println("This is a emp constructor");
}
void printInformation(emp e){
System.out.println("This is an emp");
}
}
class entity{
public static void main(String args[]){
emp employeeObject = new emp();
employeeObject.printInformation(employeeObject);
}
}
我会这样做:
interface PrintsInformation<T> {
void printInformation( T t );
}
class Emp implements PrintsInformation<Emp> {
public void printInformation( Emp e ) {
System.out.println( "This is an emp" );
}
}
public static void main( String[] args ) {
Emp employeeObject = new Emp();
employeeObject.printInformation( employeeObject ); // compiles
}
解决问题的另一种方法是,如果对象本身正在打印,则不要传入该对象
就这么做:
public void printInformation() {
// print "this" object, rather than the one passed in
System.out.println( "This is an emp" );
}
您的界面具有如下定义的功能:
void printInformation(person p);
您的类有这样定义的函数:
void printInformation(emp e);
这些功能并不相同。Java认为第二种方法是一种新的重载方法,而不是接口方法的实现。由于类emp
未声明为抽象,但未提供抽象方法void printInformation(person)
的实现,因此它是错误的。
问题内容: 我想知道是否有任何方法可以执行以下操作。我有一个抽象类,及其所有不同的子类,我想覆盖clone方法。我要在方法中做的就是从当前方法中创建一个新方法。显然,由于抽象,我无法执行以下操作。还有另一种方法可以执行此操作,因为仅为了简单的名称更改而在每个子类中覆盖克隆似乎没有用。 问题答案: 您可以尝试使用反射: } 在clone()方法中,调用getClass()。因为ACloneble i
我已经设置了ModelAndView对象 然后,我在JSP中导入了其他助手 然后我尝试使用文档字段作为如下参数 IDEA告诉我那个文件没有解决 堆栈跟踪 在jsp文件中的[44]行发生错误:[/WEB-INF/view/jsp/admin/document_card.jsp]document.pub_date无法解析为类型41: РћРїСѓР±Р"икование 42: 43:
想象一下,我有一个抽象类动物的方法: 然后我有一个类,用以下内容扩展这个抽象类: 我希望每个扩展Animal的类都有一个fetch()方法。然而,fetch方法为相关动物指定了一些独特的特征(狗的爪子、猫的爪子等)。例如,cat的fetch()将获取参数fetch(fellinecat kitty)并表示: 因此,抓取方法接受了扩展抽象类“动物”(因此是动物)的参数。我在“动物”中定义了抓取()方
问题内容: 我想编写一个抽象方法,但编译器始终显示此错误: 抽象方法不能有主体 我有这样的方法: 怎么了 问题答案: 抽象方法意味着没有默认实现,并且实现类将提供详细信息。 本质上,您将拥有 因此,它与错误状态完全相同:您的抽象方法不能具有主体。 在Oracle网站上有完整的教程,网址为:http : //download.oracle.com/javase/tutorial/java/IandI
问题内容: 我是一名 Java 开发人员,对Object Orientation概念有很好的了解( 或者也许我这样认为 )。现在我正在学习设计模式(从头开始设计模式)。我一直在阅读有关OOPS概念抽象的文章,以简要地理解它,而阅读更多有关它的内容,使我比以前更加困惑。 据我了解,抽象是指隐藏程序的内部细节,同时将接口暴露给其他程序员,而无需担心内部细节。但是我不明白 抽象类如何适应这种抽象概念,其
我正在尝试发布来自邮递员的 POST 请求,但正文中的 json 未转换为控制器中的 java 对象。 pom.xml 在我看到的日志中 Hibernate:插入到用户(zip,address1,address2,address3,城市,电子邮件,first_name,last_name,密码,状态,user_name)值 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 不知道