文档详情

U1-4面向对象-封装与继承作业.docx

发布:2017-07-15约3.44千字共6页下载文档
文本预览下载声明
封装是什么?将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。java中封装的体现有哪些?使用面向对象【封装】的好处有哪些?请举例说明。便于使用者正确使用系统,防止错误修改属性有助于系统之间的松耦合,提高系统独立性提高软件的可重用性降低了构建大型系统的风险比如银行卡里面的金额,要封装起来,防止其他人随意进行操作。2.static关键字是什么?有什么特点?什么时候用呢?static 关键字可以应用于内部类(在另一个类中定义的类)、方法或字段(类的成员变量)。static可以用来修饰成员变量静态变量,可以直接通过类名访问成员方法静态方法,可以直接通过类名访问代码块静态代码块,当Java虚拟机加载类时,就会执行该代码块3.继承中构造方法的执行流程?假如父类没有无参构造方法,子类应该怎么办?1、如果子类没有定义构造方法,则调用父类的无参数的构造方法,.?2、如果子类定义了构造方法,且其第一行没有super,则不论子类构造方法是有参数还是无参数,在创建子类的对象的时候,首先执行父类无参数的构造方法,然后执行自己的构造方法。如果父类没有给出无参构造方法,子类的构造方法会出错。解决方法如下: * 1.在父类中增加一个无参构造方法 * 2.在子类构造方法中通过super关键字显式的调用父类的带参构造方法4.静态变量和成员变量的区别1、两个变量的生命周期不同? ? ? ? ? ? 成员变量随着对象的创建而存在,随着对象被回收而释放。? ? ? ? ? ? 静态变量随着类的加载而存在,随着类的消失而消失。? ? ? 2、调用方式不同? ? ? ? ? ? 成员变量只能被对象调用。? ? ? ? ? ? 静态变量可以被对象调用,还可以被类名调用。? ? ? 3、别名不同? ? ? ? ? ? 成员变量也称为实例变量。? ? ? ? ? ? 静态变量也称为类变量。? ? ? 4、数据存储位置不同? ? ? ? ? ? 成员变量存储在堆内存的对象中,所以也叫对象的特有数据。? ? ? ? ? ? 静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。5.小明有一个书包,包里有2只笔,1个本子和1串钥匙。仿照今天最后的案例,写一个需求分析和两层的Java工程出来。书包bagname2支笔 pen1个本子 notebook1串钥匙 key笔pennamePrice本子notebooknamePrice钥匙keynamepackagecom.bag;importjava.util.ArrayList;importjava.util.List;publicclass Bag {private String name=大黄的书包;private ListKey listKeys = newArrayListKey();private ListNotebook listNotebooks = newArrayListNotebook();private ListPen listPens = newArrayListPen();public ListKey getListKeys() {returnlistKeys;}publicvoidsetListKeys(ListKey listKeys) {this.listKeys = listKeys;}public ListNotebook getListNotebooks() {returnlistNotebooks;}publicvoidsetListNotebooks(ListNotebook listNotebooks) {this.listNotebooks = listNotebooks;}public ListPen getListPens() {returnlistPens;}publicvoidsetListPens(ListPen listPens) {this.listPens = listPens;}public String getName() {returnname;}publicvoidsetName(String name) {this.name = name;}}packagecom.bag;publicclass Key {private String name;public String getName() {returnname;}publicvoidsetName(String name) {this.name = name;}}packagecom.bag;publicclass Notebook {private String name;privateintprice;public String ge
显示全部
相似文档