1.什么是面向对象?
面向对象是一种使用封装、继承、多态、抽象等思想进行软件的分析和开发的方法,而java就是一门面向对象编程的语言。
2.谈谈你对封装的理解。
封装就是将实体的属性和行为包装成一个具体的对象,并控制在程序中对其属性的读取、修改。并仅对外公开接口也就是方法,以隐藏对象的属性和实现细节的目的。
3.谈谈你对java中继承的理解。
继承就是从已有的类和接口中派生出一个新的类和接口,并根据继承规则能从父类和接口中吸收一些属性和行为作为己用,还可以能通过自定义一些自己的属性和方法来扩展新的能力。
java中的类只能有一个父类,也就是说类不支持多继承机制,默认情况下java.lang.Object是一个类的直接父类;但是接口则可以继承多个父级接口,支持多继承。
4.谈谈你对java中的多态的理解。
多态分为编译时多态和运行时多态。
编译时多态是指编译器编译期间,根据同一对象或者类中相同名称方法的参数列表的不同(函数签名不同),来决定调用那个方法的多态行为。也就是 指的是java中的方法重载。
运行时多态是指程序运行期间,同一方法会根据调用对象的类型不同,分别去执行其实际的类型的相应方法。一般多发生在方法覆盖的情况下。
动态绑定是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。
5.谈谈你对抽象的理解。
抽象就是通过特定的实例抽取共同特性后形成概念的过程。它强调主要特征,忽略次要特征。在java中主要体现在类上。