题目
f1、
谈一谈你对java中面向对象的理解,面向对象的特征有哪些?
抽象抽象是忽略一个主题中与当前目标无关的方面,把现实世界中的概念转换为对象。有利于从众多变化的状态中抽离出不变的东西。有利于使用继承来构造类的体系,实现多态。抽象是概念建模和业务流程建模很重要的工具,是面向对象体系的基石,而不是一堆杂乱、混乱、重复、散沙般的、关系错综复杂的类。继承是一种连结类的层次模型,并且允许和鼓励类的重用,提供了一种明确表示共性的方法。继承意味着能声明一个类型,而且能继承父类中的所有操作和数据,同事还有机会声明自己的新方法以改进、具体化、代替或者扩展父类中的方法使用父类为应用领域建立层次模型,提供代码重用并允许定制。多态一个对象变量可以指向多种实际类型的现象。动态绑定:一个对象在运行时自动选择正确的方法进行调用的现象过程:1、编译器检查对象的声明类型和方法(虚拟机预先为每个类计算一个方法表)2、重载解析:编译器检查方法调用中提供的方法参数类型(方法原型:名字和参数列表,返回值不是原型的一部分)3、静态绑定:如果方法是privatestaticfi
al的,或者是一个构造器4、动态绑定:虚拟机必须调用对象变量所指向的对象的实际类型和匹配的方法版本。封装把数据和行为结合在一个包中,并对对象的使用者隐藏数据有关的实现过程,封装赋予对象“黑盒”特性。
2、
谈一谈你对重载和覆盖的理解?
方法的重写Overridi
g和重载Overloadi
g是Java多态性的不同表现。重写Overridi
g是父类与子类之间多态性的一种表现,重载Overloadi
g是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写Overridi
g。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被