学习Java的引用类型时的一点心得

一、对Java中的变量的心得

在一个java类中,首先根据变量修饰符的不同,可以把变量分为两类——类变量(静态变量)和实例变量(对象变量);其次是可以根据变量被声明时所在位置的不同也可分为两类——即成员变量和局部变量。

那这个类中的变量我们都知道,这个东西有什么好说的呢?

在这里,我就写写我自己在学习时的一点理解,提高一点自己,也供少许能耐着心看点我这粗鄙之文的人一娱。

首先,成员变量——是在对象生存周期内都可使用的变量。那成员变量又分为静态和实例(与静态相对,我就叫它动态吧)变量。既然把成员变量分为了两种不同形式的,那我想它们肯定就有它们的不同之处。想必大家都知道,静态变量成员(要时刻用面向对象的思维来思考)是被所有对象所共享的,那么静态成员就是所有对象的共有财产,所有对像都可以对它进行生产和消费,这便是静态成员的特点。

然后是实例变量成员——我又管它叫做单个对象私有的变量成员或是动态变量成员。实例变量的特征就是它只对它所在的对象负责,而不必管同一类型的其它对象。举个不太文雅但却很贴切的例子,若每个人的老婆都是一个Women类的对象,这时而且每个人是自己老婆的一个属性成员的话,那么你只用对自己的老婆负责,而不必去管他人的老婆,因为你本人是你自己老婆这个对象的私有的变量成员,不可与他人老婆共享。见笑于人,雅俗共赏了。

最后呢,我就要说说我理解的局部变量了,在这里把它们叫做声明在方法中的变量或更贴切些,就叫作生命在方法中的变量,在局部变量中,又分为了两种——参数变量和局部代码块变量。这两种变量的共同点是——它们都不可有修饰符来修饰它们,这里的修饰符也分为了两类,即一类是访问权限修饰符,按其修饰的成员或类的可见性的大小顺序由小到大的排列为:private、(default)即什么也不写、protected、public;另一类就是成员状态修饰符:static和final这两个。

既然java语法规范中要求方法中的变量不可用修饰符来修饰它们,那这是为什么呢?我的理解是与它们的作用域有关。它们只作用在声明它们的代码块中,当它们所在的代码块执行完毕,它们也就消失在栈中,便不会有对象要操作它们,对象也操作不了它们,所以,它们不会被任何对象所直接访问,便无需修饰符来修饰它们了。

说了方法变量——参数和方法内局部变量的相同点,现在再来说一说它们的一点不同:那就是参数的作用域天然就是整个方法体中都可用;而方法内局部变量的作用域只是在声明它的那一个花括号内部可用,如:在for循环体中声明的变量只能在for循环体中使用,出了for循环体便不再可用。即它们的作用域不同。

以上这些便是我对java类中变量的一点小小的心得,还望有心者可指出其中的不足之处。在此先略表谢意。

猜你喜欢

转载自blog.csdn.net/Anglebeat/article/details/83099607
今日推荐