抽象类继承接口问题(java)
发布网友
发布时间:2022-04-28 11:57
我来回答
共4个回答
热心网友
时间:2023-10-08 19:41
在程序设计时,经常会使用接口,原因是:接口只关系功能,但不关心这些功能的具体实现细节。
可以使我们把主要精力放在呈现的设计上,而不必拘泥于细节的实现。也就是说,我们可以通过在接口中声明若干个抽象方法,表面这些方法的重要性,方法体的内容细节有实现接口的类去完成。
使用接口进行程序设计的核心思想是使用接口回调,即接口变量存放实现该接口的类的对象的引用,从而接口变量就可以回调类实现的接口方法。
与普通类相比,抽象类可以有abstract方法,也可以有非abstract方法。抽象方法只允许声明,不允许实现,而且不允许使用final和abstract同时修饰一个方法。
抽象类不能用new运算符创建对象:如果一个非抽象类时某个抽象类的子类,那么它必须重写父类的抽象方法,给出方法体,即在子类中将abstract方法重新声明,但必须去掉abstract修饰,同时要保证声明的方法名字、返回类型、参数个数和类型与父类的abstract方法完全相同。这就是为什么不允许使用final和abstract同时修饰一个方法的原因。
做上转型对象:抽象类也可以没有abstract方法;如果一个抽象类时另一个抽象类的子类,它可以重写其父类的abstract方法,也可以继承这个abstract方法。
抽象类与接口的比较
1、两者都可以有抽象方法
2、接口中只可以有常量,不能有变量;而抽象类中既可以有常量也可以有变量。
3、抽象类中也可以有非抽象方法,接口不可以。
热心网友
时间:2023-10-08 19:41
哥们儿,谁跟你说抽象类中必须含有一个抽象方法了?
抽象类里可以没有抽象方法,但包含抽象方法的类一定是抽象类
热心网友
时间:2023-10-08 19:42
没看懂= =
热心网友
时间:2023-10-08 19:42
定义抽象类必须包含一个抽象方法这个说法是错误的,抽象类不能被实例化,只能被子类继承,但抽象类中可以没有抽象方法,抽象类不一定包含抽象方法,但有抽象方法的类一定是抽象类。所以你的这个程序没有错。
热心网友
时间:2023-10-08 19:41
在程序设计时,经常会使用接口,原因是:接口只关系功能,但不关心这些功能的具体实现细节。
可以使我们把主要精力放在呈现的设计上,而不必拘泥于细节的实现。也就是说,我们可以通过在接口中声明若干个抽象方法,表面这些方法的重要性,方法体的内容细节有实现接口的类去完成。
使用接口进行程序设计的核心思想是使用接口回调,即接口变量存放实现该接口的类的对象的引用,从而接口变量就可以回调类实现的接口方法。
与普通类相比,抽象类可以有abstract方法,也可以有非abstract方法。抽象方法只允许声明,不允许实现,而且不允许使用final和abstract同时修饰一个方法。
抽象类不能用new运算符创建对象:如果一个非抽象类时某个抽象类的子类,那么它必须重写父类的抽象方法,给出方法体,即在子类中将abstract方法重新声明,但必须去掉abstract修饰,同时要保证声明的方法名字、返回类型、参数个数和类型与父类的abstract方法完全相同。这就是为什么不允许使用final和abstract同时修饰一个方法的原因。
做上转型对象:抽象类也可以没有abstract方法;如果一个抽象类时另一个抽象类的子类,它可以重写其父类的abstract方法,也可以继承这个abstract方法。
抽象类与接口的比较
1、两者都可以有抽象方法
2、接口中只可以有常量,不能有变量;而抽象类中既可以有常量也可以有变量。
3、抽象类中也可以有非抽象方法,接口不可以。
热心网友
时间:2023-10-08 19:41
哥们儿,谁跟你说抽象类中必须含有一个抽象方法了?
抽象类里可以没有抽象方法,但包含抽象方法的类一定是抽象类
热心网友
时间:2023-10-08 19:42
没看懂= =
热心网友
时间:2023-10-08 19:42
定义抽象类必须包含一个抽象方法这个说法是错误的,抽象类不能被实例化,只能被子类继承,但抽象类中可以没有抽象方法,抽象类不一定包含抽象方法,但有抽象方法的类一定是抽象类。所以你的这个程序没有错。