overwrite,overload,extend等的区别


一、重写(Overriding )

重写方法只能存在于具有继承关系中,重写方法只能重写父类非私有的方法。

   1.方法名完全相同,参数完全相同,返回值完全相同。

   2.作用域可以不同。

二、重载(Overloading)

1.方法名相同,参数必须不同,返回值可以不同。

2作用域可以不同

三、抽象类与接口的区别

1.抽象类里的方法可以不全是抽象方法,但接口中的方法都是抽象方法,且abstract关键字已被省略。

2.抽象类更偏重于属性,接口更偏重于行为。

3.抽象类中允许定义静态方法,接口中不可以定义静态方法。(由于静态方法必须要实现,而接口中的方法都不能实现,因此不能定义静态方法)

四、final

1.final定义于方法:方法可以被重载,但是不能被重写。

2.final定义于变量:变量必须初始化。(例如:常量池)

3.final定义于类:类不能被继承。

你可能感兴趣的:(继承,类)