- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4讲使用类和对象编程(二).ppt
第4讲 使用类和对象编程(二) 对象 静态变量和静态方法 再谈方法 目标 掌握对象的创建与应用 理解静态变量和静态方法 掌握方法重载的概念和使用 理解构造方法的概念 掌握构造方法的简单应用 对象及其创建 对象(object)是以类作为“模板”创建的,类是一种复杂数据类型,是对象定义的前提。类是具有共同特性的实体抽象,而对象又是现实世界中实体的表现。 对象是类的实例化,对象和实例(instance)两个词语通常可以互换。当然,实例也可理解为类的具体实现。 类和对象的关系是一般与个别的关系,可以比作一张楼房的图纸和多幢楼房 例3.1中,定义了类Triangle,但只是一个通用的三角形模型,不能表示某个具体的三角形。而我们在主程序中进行的new操作,就是创建它的一个实例。 对象及其创建 创建对象须使用操作符new 其格式可以有两种: 类名 对象名=new 类名(参数1,参数2,…); Person p1= new Person(); 或者 类名 对象名; 对象名=new 类名(参数1,参数2,…); Person p2; p2=new Person(); 使用new运算符结果是返回新创建的对象的一个引用。 对象的引用 一个对象的值总是指向一个对象的引用,对象的引用描述一个对象存储单元的值。一个类可以创建多个对象,在new运算符作用后,每个对象被分配不同的内存空间,有不同的引用。例如, Triangle tri1=new Triangle(); Triangle tri2=new Triangle(); 这两条语句创建了tri1和tri2两个对象,如右图所示。 垃圾回收 当对象被创建时,就会在Java虚拟机的堆区中拥有一块内存. 在Java虚拟机的生命周期中,Java程序会陆续地创建多个对象,假如所有的对象都永久占有内存,那么内存有可能很快被消耗,引发内存空间不足的错误。 因此,必须采取一种措施及时回收那些无用对象占用的内存,以保证内存可以被重复利用。 垃圾回收 Java虚拟机提供了一个系统级的垃圾回收器线程,它负责自动回收那些无用对象所占用的内存,这种内存回收的过程被称为垃圾回收(Garbage Collection)。 静态变量和静态方法(一) 静态变量是类的特点,不是某个对象具有的。 静态变量存放在内存的一个公共的存储单元中,它将被某个类的所有对象共享,该类的任何对象都可以访问它、修改它。 如果静态变量被修改,它将保持被修改后的内容直到下次被修改为止。 静态变量引用可以使用类名,也可以使用对象名。例如,round为类Triangle的成员变量, static int round=0; Triangle.round=a+b+c; 静态变量和静态方法(二) static int round=0; Triangle.round=a+b+c; 上述语句将round设为静态变量,则类Triangle可直接调用round。而实例变量的引用不能直接使用类名,须通过对象引用。 静态方法的调用也可通过类名直接调用,即不必将类实例化为对象。Math类的方法都是静态方法。例如,方法sqrt()的调用可以使用下面语句, System.out.println(“81的平方根:+Math.sqrt(81)); 这条语句直接用类名Math调用sqrt( )方法。 实例Ex3_4 静态变量和静态方法(三) 程序分析: Counter.java设计了一个类counter(为方便理解将其看作计数器), 程序Ex3_4.java创建了4次Counter类的对象并依次将它们显示出来,最后通过Counter类名调用了getCount()方法返回被实例化的Counter 对象的数量。 静态变量和静态方法(四) 1.类Counter中定义了静态变量count并被初始化为0,构造方法Counter()功能是自增静态变量count。 2.类Counter中定义了静态方法getCount(),它允许在main()方法中通过类名调用,在Ex3_4.java的倒数第三行用类名Counter调用。 3.主方法中反复调用ob对象,程序的结果显示了count的值为4,说明count的功能的确是记录Counter实例的数量 重载方法 在Java程序中,可以创建名字相同,但是参数和返回值不同的多个方法,就是方法重载。对于多个重载方法,到底调用哪个方法,是通过传递给方法的参数来决定的 类Area中,方法getArea()被定义了4次。如果 Area a
文档评论(0)