没有合适的资源?快使用搜索试试~ 我知道了~
Java面向对象教程设计.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 129 浏览量
2022-06-11
03:07:45
上传
评论
收藏 31KB DOCX 举报
温馨提示
试读
13页
Java面向对象教程设计
资源推荐
资源详情
资源评论
面向对象教程
第 章 变量的生命周期、作用域和参数传递
静态变量、静态方法与实例变量
通过 修饰符来修饰类的静态变量、静态方法、实例变量和代码块。
用 修饰的成员变量表示静态变量,可以直接通过类名来访问。
用 修饰的成员方法表示静态方法,可以直接通过类名来访问。
用 修饰的程序代码块表示静态代码块,当 虚拟机加载类时,就会执行该代
码块。
被 所修饰的成员变量和成员方法表明归某个类所有,它不依赖于类的特定实例,被类
的所有实例共享。只要这个类被加载, 虚拟机就能根据类名在运行时的方法区内定位
到它们。
静态变量
类的成员变量有两种:一种是被 修饰的变量,叫类变量或静态变量;另一种是没有被
修饰的变量,叫实例变量。
静态变量和实例变量的区别如下:
静态变量在内存中只有一个拷贝,运行时 虚拟机只为静态变量分配一次内存,在
加载类的过程中完成静态变量的内存分配。可以直接通过类名访问静态变量。
对于实例变量,每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内
存中有多个拷贝,互不影响。
语言不支持不属于任何类的全局变量,静态变量提供了这一功能,它有如下两个作用:
能被类的所有实例共享,可作为实例之间进行交流的共享数据。
如果类的所有实例都包含一个相同的常量属性,可把这个属性定义为静态常量类型,
从而节省内存空间。
静态方法
静态方法
静态代码块
静态变量和实例变量的生命周期
静态变量和实例变量。两者的区别在于:
类的静态变量在内存中只有一个, 虚拟机在加载类的过程中为静态变量分配内存,
静态变量位于方法区,被类的所有实例共享。静态变量可以直接通过类名被访问。静态变
量的生命周期取决于类的生命周期,当加载类的时候,静态变量被创建并分配内存,当卸
载类的时候,静态变量被销毁并撤销所占用的内存。
类的每个实例都有相应的实例变量。每创建一个类的实例, 虚拟机就会为实例变
量分配一次内存,实例变量位于堆区中。实例变量的生命周期取决于实例的生命周期,当
创建实例的时候,实例变量被创建并分配内存,当销毁实例的时候,实例变量被销毁所占
内存。
局部变量的生命周期及作用域
当 虚拟机调用一个方法时,会为这个方法中的局部变量分配内存。
当 虚拟机结束调用一个方法时,会结束这个方法中局部变量的生命周期。
将局部变量的作用域最小化
为了将局部变量的作用域最小化,应该遵守以下规则:
在需要用到某局部变量的时候,才定义它。对于以上的例子,只需要在 代码块中定
义 变量即可。
使方法小而集中。如果一个方法包含多种操作,尽可能把这个方法分解为多个小方法,
每个方法负责一项操作。这些小方法在 源文件中可集中放在一起。方法变小了,局部
变量的作用域也就自然变小了。
成员变量和局部变量同名
引用
再谈变量的命名规则
很多所编写的程序会很长,为了降低程序出错的可能性,大家在定义变量的时候,尽可能
不要使用同名的变量名。而且一定要遵守变量的命名规则:
变量若只有一个单词,全部用小写字母。
变量若由多个单词组成,第一个单词全部用小写字母,其余单词的首字母大写。
变量名不能与 中的关键字同名。
变量名尽可能做到“见名知意”。
参数传递
参数的传递主要有两种方式:一个是传值,另一个是传递地址。
对象的参数传递过程
如果方法 调用方法 ,那么称方法 是方法 的调用者。如果方法 的参数是基本数据
类型,那么方法 向方法 传递参数的值(传值)。如果方法 的参数是对象或数组,那
么方法 向方法 传递对象或数组的引用(传递地址)。
变量
基本数据类型的 特性
变量具有以下特征:
修饰符可以修饰静态变量、实例变量、局部变量,分别表示静态常量、实例常量、
局部常量。
在前面曾经提到类的成员变量可以不必显示初使化,但是这不适用于 类型的成员
变量。 类型变量都必须显式初使化,否则会导致编译错误。
变量只能赋值一次。
对象
第 章 常用系统类、包和访问控制符
常用系统类
类
类是所有 类的最终祖先,如果一个类在声明时没有包含 (继承)关键字,
那 么 这 个 类 直 接 继 承 类 。 所 有 类 都 继 承 了 类 的 方 法 , 包 括
!、"# !、$% !和 "&' !等。
类有以下主要成员方法:
$% "!:比较两个对象是否相等。仅当被比较的两个引用变量指向同一对象
时,$% !方法才返回 %。许多 类都覆盖了这个方法。
"&' !:返回当前对象的字符串表示,许多类,如 &'、&'%( 和包装类都覆
盖了 "&' !方法,返回具有实际意义的内容。具体用法见 &' 一章。
剩余12页未读,继续阅读
资源评论
oligaga
- 粉丝: 50
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功