- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
对象和类的练习题答案1、A、BExtends子句用于指定一个类扩展另一个类。子类可以声明为abstract,而不管超类是不失声明为abstract的。子类不继承超类的私有的的成员。一个类不能同时声明为abstract和final的,因为abstract类需要扩展才能成为有用的,而final类是不能被扩展的。类的可访问性不受其成员的可访问性的控制。即所有的成员都声明为private的类仍然可以声明为public2、B、E继承定义了一种“是一个”的关系。Object类有一个叫equals的公共方法,但是它没有任何叫做length的方法。由于所有的类都是object类的子类,因此它们都继承了equals()方法。从而,所有的java对象都有一个叫做equals的公共方法。在java中一个类只能扩展单个超类,但是对于一个超类可以扩展多少个子类没有限制。3、B、C子类无须重新定义超类中所定义的所有方法。子类有可能定义一个方法与超类所定义的方法有着同样得名字及参数,不过它们的返回类型也应该是相同的。这叫做方法的重写。子类可以定义一个字段,以隐藏超类中定义的一个字段。两个类不能彼此作为对方的超类。4、A、B、DBar是Foo的一个合法子类,它重载了方法g()。语句a.j=5不是合法的,因为Bar类中的成员j不能通过Foo引用来访问。语句b.i=3也不是合法的,因为私有成员i不能在Foo类的外部访问。5、A一个方法可以通过定义一个具有同样名称和参数列表,并且返回类型同超类中的方法一样的方法来重写。私有方法不能在子类中重写,但是允许子类定义一个刚好有着同样的签名的新方法。Final方法是不能重写的。重写方法不能返回不同类型的值,也不能声明抛出比超类中的原始方法更多的异常6、E7、C8、EMySuper类没有默认的构造函数。这意味着子类中的构造函数必须显示的调用超类构造函数来提供所需的参数。所提供的构造函数是通过在其第一个语句中调用super(num)来完成这一点的。为了完成这一点,其他的构造函数或者可以直接利用super()方法调用超类构造函数,或者可以利用this()调用在相同的类中调用另一个构造函数。A和B是无效的,因为它们没有显示的调用超类构造函数;D出错是因为super()调用必须是构造函数体中的第一条语句;F出错是因为super和this调用不能被组合使用。9、B在一个超类中没有任何声明过的构造函数,隐含的默认构造函数会调用super()。只要超类有一个默认的构造函数,super()和this()语句的使用就不是强制性的。如果super()、this()这两者都没有声明作为构造函数主体的第一条语句,则会隐含的把super()作为第一条语句。一个构造函数不能同时使用super()和this()语句。调用super()不一定能正常工作,因为超类可能没有默认的构造函数。10、D首先调用B类里有一个参数十String的构造,这时由于B是A的子类,调用构造函数时会隐含调用super()方法,调用A的的空构造函数,最后在执行System .out .println (s);语句。11、B、C接口没有任何实现,并且只允许多个接口继承。一个接口可以扩展任意数量的其他接口,并且可以被任意数量的接口扩展。接口中的字段总是静态的,而接口中的方法原型从来不是静态的。12、A、C、D 接口中的变量一定得赋值,可以以默认、public、static、final修饰13、A、D14、E15、A、CB出错是因为它包含一个对其自身的命名常量的非法引用。D错误是缺少了字段类型。E出错是用了protected修饰符。16、C(1)的语句可以被编译,因为是从子类引用向超类引用进行赋值的。(2)的强制转换使得编译器可以确保arrA能够指向可以被arrB引用的对象。因为arrA会指向B[]类型的对象,所以在运行时这点是成立的。(3)的强制转换使得编译器可以确保arrA能够指向可以被arrB引用的对象。因为arrA会指向A[]类型的对象,所以在运行市这点是不成立的。17、D 子类可以赋值给父类,父类不能赋值给子类18、E 由于C3继承了C1,后者实现了I1,因此该赋值是被允许的。19、B20、A、B、C引用a所表示的对象是C类型的。该对象也是A和B的一个实例,因为C是B的子类,而B是A的子类。该对象不是D的实例。21、B、D22、A23、ERef2所引用的对象是C类的,但是该对象是B类型的。因为B包含了一个f()方法,在编译时会允许调用该方法。在执行期间确定该方法是类型C的。24、C25、B、C26、B27、E28、B、E静态成员类在许多方面看起来像一个顶级类,并且可以包含非静态字段。静态成员接口就像上层接口一样不能包含非静态字段。嵌套的接口总是静态的。29、E 在Mement
原创力文档


文档评论(0)