JAVA基础知识练习1(含答案).doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA基础知识练习1(含答案)

JAVA基础知识练习(含答案) 一、思考题 1.Overload(方法重载)和Override(方法覆盖)的区别。 答: 相同点: 都要求方法同名 都可以于于抽象方法和非抽象方法之间 不同点: 方法覆盖要求参数签名必须一致,而方法重载要求参数签名必须不一致。 方法覆盖要求返回类型必须一致,而方法重载不做限制。 方法覆盖只能用于子类覆盖父类的方法,方法重载用于同一个类的所有方法(包括从父类中继承而来的方法)。 方法覆盖对方法的访问权限和抛出的异常有特殊的要求,而方法重载没有限制。 父类的一个方法只能被子类覆盖一次,而一个方法所在的类中可以被多次重载 2.在创建派生类的对象的时候,基类与派生类中构造方法的调用顺序怎样? 答:编译器会一直上溯到最初类,执行该类构造方法,然后依次执行各子类构造函数 3.比较this和super的区别 答:this是引用本对象,super是引用父类的对象。 4.什么是多态?面向对象程序设计为什么要引入多态的特性?使用多态有什么优点? 答:多态基本含义是“拥有多种形态”,具体指在程序中用相同的名称来表示不同的含义。例如:用同一方法名来表示不同的操作;面向对象程序设计引入多态特征的原因是,使程序更具有可读性,重复利用性;采用多态技术的优点: 引进多态技术之后,尽管子类的对象千差万别,但都可以采用 基类引用.方法名([参数]) 统一 方式来调用,在程序运行时能根据子对象的不同得到不同的结果。这种“以不变应万变”的形式可以规范、简化程序设计,符合软件工程的“一个接口,多种方法”思想。 二、编程题 1.类、对象、方法、继承 (1) 声明矩形类Rect,它封装了: 两个成员变量(访问权限为private): float length; //矩形的长度,float类型 float width; //矩形的宽度,float类型 9个成员方法(访问权限均为public): Rect() //默认构造方法 Rect(float l, float w) //带参数的构造方法 void setLength(float l) //改变矩形的长度 float getLength() //得到矩形的长度 void setWidth(float w) //改变矩形的宽度 float getWidth() //得到矩形的宽度 String toString() //输出矩形信息。返回形如: 长度: xxx, 宽度:xxx” //字符串(其中:xxx表示相应的数值). float getPerimeter() //得到矩形的周长 float getArea() //得到矩形的面积 (2) 再定义一个长方体类Recter,它继承了矩形类Rect (上一题已定义),并增加了: 一个成员变量(访问权限为private): height //长方体的高度,float类型 三个成员方法(访问权限均为public): Recter (float l, float w,float h) //带参数的构造方法, //需要调用基类带参数构造方法. float getVolume( ) //返回长方体的体积 (计算公式:底面积×高度) String toString() //重写toString()方法,返回形如:“矩形长度: xxx, 矩形 //宽度:xxx,长方体的高度:xxx,矩形底面积:xxx,长方体 //体积:xxx”字符串(其中:xxx表示相应的数值). (3) 最后定义一个主类:RectTest,在它的main()方法中创建一个矩形长度为10.5,矩形宽度为:5.5, 长方体的高度为:6.5的长方体对象ry,然后调用toString()方法输出其相应信息。 2.写出下列实现多态的程序的运行结果 class Animal { public void display(){ System.out.println(我是一只动物,...); } } class Cat extends Animal { public void display(){ System.out.println(我是能捉老鼠的猫,...); } } class Dog extends Animal { public void display(){ System.out.println(我为主人尽忠职守的猎犬,...); } } public class AnimalTest { public static void main(String args[]

您可能关注的文档

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档