什么是方法的默认行为?
我看到一篇文章说到:“
在abstract class的定义中,我们可以赋予方法的默认行为。但是在interface的定义中,方法却不能拥有默认行为“
请问什么是方法的默认行为? 如何赋予? 请写几行简单的代码示例,谢谢.
------解决方案--------------------就是说,在interface中,所有的方法都必须是抽象的,未实现的
但在抽象类中,可以定义抽象方法,也可以写非抽象的方法
比如,抽象类里面本来有个一个抽象方法,来给子类实现
你可以把这个抽象方法转为非抽象方法,但是对于接口定义的方法就没办法
------解决方案--------------------就是方法体,接口里面所有方法只能是public void methodName();而抽象类则可以为:
public void method1(){}
public abstract void method2();
public void method3(){}
也就是只有标识为abstract的方法才能不写方法体
------解决方案--------------------接口只是给出了方法的名字(包括参数),但是没有给出具体实现的代码
而在抽象类中,它可以定义抽象方法,也可以定义非抽象方法