- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.5.2 使用对象 使用“.”,对象可以实现对自己变量和方法的调用和访问。 对象名.属性名 对象名.方法名 分析:课本47页例子3.10 3.6 实例变量和类变量 前面讲过:成员变量分为实例变量和类变量,用static修饰的是类变量。 一个类通过new可以创建多个对象,这些对象被分配不同的内存空间。如果有类变量,那么所有这些对象的类变量被分配一个相同的内存。也就是说,这些对象的类变量共享一个内存。如果某个对象对该类变量做了更改操作,则所有对象再用这个类变量时,已是新的值。 类变量的访问 例如:StudyStatic程序(对西游记的改变)注意带有static的变量weight 从该程序可以看到多个对象对类变量的共享,以及访问类变量时要通过类名直接访问。 运行结果: // 注释语句改为不注释的之后: 如何解释类变量和实例变量的差别呢? 当Java程序执行时,类的字节码文件被加载到内存,如果该类没有创建对象,类的实例变量就不会被分配内存。但是,类中的类变量,在该类被加载到内存时,就被分配了相应的内存空间。 如果该类创建对象,那么不同对象的实例变量互不相同,即分配不同的内存空间,而类变量不再重新分配内存,所有的对象共享类变量。直到程序推出运行,才释放所占有的内存。 实例方法和类方法 类似于实例变量和类变量。即所有的对象共享同一个类方法。 无论是类方法或者实例方法,当被调用执行时,方法中的局部变量才被分配内存空间,方法调用完毕,局部变量立即释放所占内存。 类方法的调用方式 通过类名直接调用类方法。 对象可以调用实例方法和类方法,而实例方法不可以通过类名被直接访问。 类中的类方法不可以操作实例变量,也不可以调用实例方法。 因为在类创建对象之前,实例变量还没有被分配内存,实例方法也没有入口地址。 实例方法和类方法 类似于实例变量和类变量,实例方法和类方法定义时的不同之处在于是否有static修饰。例如:public class Dog{ int a; static int b; float max(int x,int y){ …… } static float min(String s){ …… } } 需注意的问题 实例方法既能对类变量操作,又能对实例变量操作,而类方法只能对类变量进行操作。 # 第3章:类和对象 面向对象编程概述 对象:现实生活中,一个人、一辆自行车、一场电影、一篇文章、一篇文章中的一个段落都是一个对象。对象可以是具体的,也可以是抽象的。世界上的各个事物都是由各种“对象”组成的,任何事物都是对象。 每个对象可以用一组属性和可执行的一组动作来定义。例如:……对象,它的属性有……,它的动作有…… 对象是具有某些特殊属性和行为的实体。 比伯 属性 姓名 性别 身高… 行为 唱歌 跳舞 演戏… 高度 宽度 标题… 属性 按下 移动 光标聚焦… 行为 类 对象 面向对象编程概述 类:一组具有相同数据结构和操作的对象的集合。 类是对象的抽象;是用来创建对象的模板。 例如:……类……对象 Java的基本单元是类。源程序就是由若干类来组成的,因此,学习Java编程就必须学会如何去写类,即怎样用Java语法去描述一类事物共有的属性和功能。 3.1 类 类包含两个部分:类声明和类体 class 类名{ 类体的内容…… } class是一个关键字,表明这是一个类的定义。 类名是一个标识符。 ”class 类名”是类的声明。 { 类体的内容…… } 是类的实现,是类体。 类声明 类名是一个标识符,要符合标识符的规定,不能是Java中的关键字。 用字母做类名时,每个单词的首写字母大写。 例如:HelloWorld, GoodStudent, CoolBoy等等。 class CoolBoy{ int height=180; …… } 类体 由两部分内容构成:属性和方法 class ZhuBaJie{ float height=1.8f; float weight=200.8f; void speak(String s){ System.out.println(I love eating); } } 需注意的问题: 如果一个源程序中有多个类,那么只能有一个类是public类; 如果源程序中有一个类是public类,则源文件的名字必须与这个类的名字相同,扩展名是.java; 如果源文件中没有public类,那么源文件的名字只要和某个类的名字相同,扩展名是.java就可以了。 具体概念 成员变量 声明格式:[修饰符] [static][final][transient] 变量类型变量名 [static]---表示一个类成员变量(静
文档评论(0)