Java基础面试题之java面向对象有哪些特征
面向对象是一种利用类和对象进行编程的思想,万物皆可归类,类是对事物的最高抽象,不同的事物之间有不同的关系,类与自身之间的关系,父类与子类之间的关系,一个类和多个类之间的关系等等…面向对象的编程语言有以下3个特征 封装、继承、多态。
封装
所谓封装是指将一系列具有相同类型的事物抽象出事物的共性(包括属性和方法)归到同一类中,方便使用。它提供这一类事物公共的访问方式,提高了代码的复用性。其内部细节是隐藏的,暴露给外界的只有使用方法,使用者无需关注其内部构造,只需通过其提供的方式进行使用。
继承
所谓继承是指在共有特点的情况下,扩展其他的特性,将已存在的类作为自己的内容,并可以添加新的功能,使原有的类可以更好的适配需要。继承是子类共享父类数据和方法的机制,这是一种类之间的关系,极大的提升了类的复用和扩展,缺点耦合性强(类与类之间紧密的结合在一起,相互依赖性高)。打破了类的封装性,使得父类直接的暴露给子类。
多态
所谓多态是指同一操作不同对象可以产生了不同的效果。简单来说就是用基类的引用指向子类的对象。声明父类调用子类,可以解决项目中紧偶合的问题,提高程序的可扩展性。多态是一个运行时的行为,不是编译时行为。