频道栏目
首页 > 资讯 > JAVA > 正文

2014年计算机二级JAVA考点解析:Java程序设计基础4

14-04-15        来源:[db:作者]  
收藏   我要投稿

  3.3对象

   有效范围和废物自动回收对象有一定的生命期并在它的生命期间使用资源,当一个对象不再被使用时,它应释放内存,避免内存溢出。在Java里,收集和释放内存是一个叫自动废品回收站的线程的责任。这个线程监视对象有效范围并给一个走出有效范围的对象作上标识。

  例如:Strings;//没有分配内存s=newString("oldstring");//分配内存s="newstring ";//重新分配内存(创建新对象)我们将在以后访问String类时将更加明白它的工作过程,但它的快速工作过程是这样的:1.创建一个新的 String类对象并填充以"oldstring"2.创建另一个String对象并填充以"newstring"注意我们创建了两个对象。 Stirng对象"oldstring"Stirng对象"newstring"在第三条语句里,第一个包括"oldstring"的叫做s 的对象已走出了有效范围,没有任何方法可以再访问他,我们现在有一个新的对象也叫s,包含"newstring"。在下一个废品回收线程,前一个对象将被标识并清除。

  3.4子类

  子类是利用存在的对象创建一个新对象的机制,比如,如果你有一个Horse类,你可以创建一个Zebra子类,Zebra是Horse的一种。

  classZebraextendsHorse{intnumber_OF_stripes:}关键词extends来定义对象有的子类.Zebra是Horse的子类。Horse类里的所有特征都将拷贝到Zebra类里,而Zebra类里可以定义自己的成员函数和实例变量。Zebra 称为Horse的派生类或继承。另外,你也许还想覆盖基类的成员函数。用ClassOne说明,下面是一个派生类覆盖Add_i功能的例子.

  importClassOne;publicclassNewClassextendsClassOne{publicvoid

  Add_i(intj){i=i+(j/2);}}

  当NewClass类的实例创建时,变量i初始化值为10,但调用Add_i产生不同的结果。NewClassmnc;mnc=newNewClass();mnc.Add_i(10);访问控制Java里当你创建一个新类时,你可以标明变量和成员函数的访问层次。

  publicpublicvoidAnyOneCanAccess(){}public实例变量和成员函数可以任意其它类调用。

  protectedprotectedvoidOnlySubClasses(){}protected实例变量和成员函数只能被其子类调用.

  privateprivateStringCreditCardNumber;private实例变量和成员函数只能在本类里调用.

  friendlyvoidMyPackageMethod(){}缺省的,如果没有定义任何防火控制,实例变量或函数缺省定义成 friendly,意味着可以被本包里的任意对象防问,但其它包里的对象不可防问。静态成员函数和变量有?copy;时候,你创建一个类,希望这个类的所有实例都公用一个变量。也就是说,所有这个类的对象都只有实例变量的同一个拷贝。这种方法的关键词是static,例如:classBlock{staticintnumber=50;}

  所有从Block类创建的对象的number变量值都是相同的。无任在哪个对象里改变了number的值,所有对象的number都跟着改变。同样的,你可以定义static成员函数,但这个成员函数不能访问非static函数和变量。 classBlock{staticintnumber=50;intlocalvalue;staticvoidadd_local() {localvalue++;//没有运行}staticvoidadd_static(){number++;//运行}}

相关TAG标签
上一篇:2014年计算机二级JAVA考点解析:Java输入输出操作2
下一篇:100%免费领取QQ蓝钻 完成简单任务即可免费领取 秒到哦【限非蓝钻】
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站