变量的使用规则
2009-06-16 10:12
323 查看
定义一个成员变量时,成员变量将被放置到内存中,如果成员变量的作用域扩大到类存在的范围或者对象存在范围,坏处有:增大了变量的生存时间,这将导致更大的系统开销;扩大了变量的作用域,不利于提高程序的内聚性。
public class TestScope1
{
//定义一个成员变量做为循环变量
static int i;
public static void main(String[] args)
{
for(i=0;i<10;i++)
{
System.out.printfn("hi");
}
}
}
public class TestScope2
{
public static void main(String[] args)
{
//定义一个方法局部变量做微循环变量
int i;
for(i=0;i<10;i++)
{
System.out.printfn("hi");
}
}
}
public class TestScope3
{
public static void main(String args)
{
//定义一个代码局部变量做为循环变量
for(int i=0;i<10;i++)
{
System.out.printfn("hi");
}
}
}
上面三个结果一样,但效果大不一样,第三个最符合软件开发规则。
下面情况考虑使用成员变量:
1:变量用于描述某个类或者某个对象的固有信息,如人的身高、体重。应定义为成员变量的实例属性。如果对这个类的所有实例完全相同或者是类相关的如人类眼睛数目,定义为类属性
2:如果在某个类中需要以一个变量来保存该类或者实例运行时的状态信息,如五子棋程序中的棋盘数组,用以保存五子棋实例运行时的状态信息。这种用于保存某个类,或者某个实例状态信息变量通常使用成员变量
3:如果某个信息需要在某个类的多个方法之间进行共享,则这个信息应该使用成员变量来保存。
即使在程序中使用的变量,也应该近可能地缩小局部变量的作用范围,局部变量的作用范围越小它在内存里停留的时间就越短,性能就越好。顾能用代码块局部变量的地方就坚持不用方法局部变量。
public class TestScope1
{
//定义一个成员变量做为循环变量
static int i;
public static void main(String[] args)
{
for(i=0;i<10;i++)
{
System.out.printfn("hi");
}
}
}
public class TestScope2
{
public static void main(String[] args)
{
//定义一个方法局部变量做微循环变量
int i;
for(i=0;i<10;i++)
{
System.out.printfn("hi");
}
}
}
public class TestScope3
{
public static void main(String args)
{
//定义一个代码局部变量做为循环变量
for(int i=0;i<10;i++)
{
System.out.printfn("hi");
}
}
}
上面三个结果一样,但效果大不一样,第三个最符合软件开发规则。
下面情况考虑使用成员变量:
1:变量用于描述某个类或者某个对象的固有信息,如人的身高、体重。应定义为成员变量的实例属性。如果对这个类的所有实例完全相同或者是类相关的如人类眼睛数目,定义为类属性
2:如果在某个类中需要以一个变量来保存该类或者实例运行时的状态信息,如五子棋程序中的棋盘数组,用以保存五子棋实例运行时的状态信息。这种用于保存某个类,或者某个实例状态信息变量通常使用成员变量
3:如果某个信息需要在某个类的多个方法之间进行共享,则这个信息应该使用成员变量来保存。
即使在程序中使用的变量,也应该近可能地缩小局部变量的作用范围,局部变量的作用范围越小它在内存里停留的时间就越短,性能就越好。顾能用代码块局部变量的地方就坚持不用方法局部变量。
相关文章推荐
- [黑马程序员] _变量的基本使用方法(赋值、占位符、接收、命名规则)
- C++中变量和基本类型,标准库类型以及数组和指针的使用规则
- 【慕课笔记】第二章 变量和常量 第6节 JAVA中变量的使用规则
- 【 Makefile 编程基础之三】详解 Makefile 变量的定义规则使用
- 超全局变量数组get post requerst resver的使用规则
- Python 中特殊变量/方法命名规则说明(特别是私有变量)及使用实例
- Java学习笔记摘录(标识符/变量是什么/如何命名变量/数据类型/变量的使用规则)
- 变量·数据类型·变量使用规则
- java中变量使用规则
- java学习九 java变量使用规则
- 很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序
- 九、Java中变量的使用规则
- make使用的规则,变量等
- 关于asterisk拨号规则中使用的变量
- 【 Makefile 编程基础之三】详解 Makefile 变量的定义规则使用!
- Java中变量的使用规则
- 很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序
- JAVA笔记 变量的使用规则
- 第三天 Java中变量的使用规则及运算符介绍
- 1-9 Java中变量的使用规则