1、重写与重载的区别
重载Overload:在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。它的特点就是与返回值类型无关,只看参数列表。
重写Override:子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中定义的方法,这相当于把父类中定义的那个完全相同的方法给覆盖掉了。
2、抽象类和接口的区别
a、抽象类通过 public abstract class 抽象类名字 {成员变量1…n; puclic abstract 返回类型 抽象方法名1…n(参数类型、参数名字1…n){};}来定义。
接口通过public interface 接口名字{public static final 成员变量1…n;public abstract 返回类型 方法名1…n(参数类型、参数名字1…n){};}来定义。
b、抽象类可以有构造方法,接口不能有构造方法。
c、抽象类可以有普通成员变量,接口不能有普通成员变量(变量修饰符是public static final)。
d、抽象类可以包含非抽象的普通方法,接口中的所有方法必须是抽象的。
e、抽象类中的抽象方法的访问类型可以是public、ptotected,接口的抽象方法只能是public,默认的就是public abstract。
f、抽象类中可以包含静态方法,接口不能包含静态方法。
g、抽象类和接口都可以有静态的成员变量,但抽象类的静态成员变量的访问类型可以是任意的,而接口的静态成员变量的访问类型只能是 public static final.
h、一个类只能继承一个抽象类,但可以实现多个接口。
3、