OOP

来源:互联网 发布:阿里云rds数据库集群 编辑:程序博客网 时间:2024/06/04 18:47

1.面向对象的特征有哪些方面?
抽象:是将一类对象的共同特征总结出来构造类的过程。包括数据抽象和行为抽象两种。抽象只关注属性和行为,并不关心行为的细节。
继承:继承是从已有的类获取集成信息创建新类的过程。
封装:隐藏对象的属性和实现细节,仅对外提供访问方式。封装成工具类,提高代码的重用性;通过隐藏隔离,数据安全性提高。
多态:是不同的子类对同一消息做出不同的响应。多态分为编译时多态性和运行时多态性。方法重载是实现编译时多态性,而重写是运行时多态性。
2.接口和抽象类的区别:
抽象类中的变量可以是普通变量,接口中的只能是常量,默认public static final;
抽象类中的方法可以是public,protected,接口中的抽象方法只能是public,默认的public abstract
抽象类中的抽象方法全部被子类实现,没有实现,子类必须是抽象方法,接口的实现必须实现接口中抽象方法。
抽象类中可以有抽象方法和普通方法,接口中的方法必须全部是抽象方法。
抽象类只能单继承,接口可以继承接口,也可以实现接口。
抽象类是代码的重写 ,接口是一种设计思想。
3.override和overload区别:
方法的重写和重载都是实现多态的方式,其中重载是编译时多态,重写是运行时多态;
重载发生在一个类中,相同的参数名,不同参数列表,对返回类型没有要求;重写发生在父子类之间,相同的方法名。
4.访问修饰符 public 当前类,同包,子类,其它包 protected 当前类,同包,子类 default 当前类 同包 private 子类 static:静态变量,静态方法,静态块