第三章:面向对象作业
1 基础问题
简述面向对象的特点
答:面向对象的特征有封装、继承和多态。封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式;子类继承了父类,就继承了父类的方法和属性,在子类中,可以使用父类中定义的方法和属性,也可以创建新的数据和方法;面向对象的多态性体现为方法的重载和重写,在Java中,子类的对象可以替代父类的对象使用。
java类是否可以多继承,怎么实现多继承?
答:Java只支持单继承,不允许多重继承。有了接口(interface),就可以得到多重继承的效果。
abstract class 和interface 有什么区别?
答:abstract class是用来模型化那些父类无法确定全部实现,而是由其子类提供具体实现的对象的类。接口(interface)是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
int 和 Integer 有什么区别?
答:int是基本数据类型,而Integer是引用类型—包装类。包装类Integer使得基本数据类型int的数据变成了类,有了类的特点,可以调用类中的方法。
abstract 的method 是否可同时是static,是否可同时是native,是否可同时是synchronized?
答:abstract 的method 不能被static、native和synchronized修饰, abstract 的method 抽象方法只能被public或protected修饰,其他修饰符皆不可以。
(overload)必须满足___BCE____。
A. 在不同class中定义的方法
C. 方法名必须相同
E. 参数一定不同
重载(overload)和重写(overried,有的书也叫做“覆盖”)的区别?Overload的方法是否可以改变返回值的类型?构造器Constructor是否可被override?
答:⑴重载与重写的区别:①重写是子类的方法覆盖父类的方法,要求方法名和参数都相同,而重载必须具有不同的参数列表;②重写的返回的类型必须一直与被重写的方法的返回类型相同,重载可以有不责骂的返回类型,只要参数列表不同就可以了;③重写访问修饰符的限制一定要大于被重写方法的访问修饰符,重载可以有不同的访问修饰符;④重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常,重载可以抛出不同的异常。
⑵Overload的方法可以改变其返回值的类型。
⑶构造器Constructor不能被继承,因此不能重写Overriding。
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?为什么?
答:是值传递。Java中都是由值传递参数的,当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是不会改变的。
接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
答:接
面向对象作业 来自淘豆网m.daumloan.com转载请标明出处.