1.1:java 面向对象三大特性(封装,继承,多态)?
封装:隐藏对象的属性和实现细节,仅对外公开接口,增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员
继承:实现代码的复用,但特别注意的是,父类的私有属性和构造方法并不能被继承。另外子类可以写自己特有的属性和方法,目的是实现功能的扩展,子类也可以复写父类的方法即方法的重写。子类不能继承父类中访问权限为private的成员变量和方法
多态:相同的事物,调用其相同的方法,参数也相同时,但表现的行为却不同,例如方法重写重载。
1.2:抽象类和接口的区别?
1、接口可以多实现,而抽象类只能单继承
2、抽象类可以有非抽象的方法和构造方法、变量,但是接口只能有抽象方法,静态常量。
3、抽象类和子类具有父子关系,子类能拥有父类中一些属性。接口虽然是某个类实现一个接口,但是由于接口中的变量都为静态常量,不存在继承关系。
1.3: 重写和重载?
重载