Java 当类的属性与形参的名字相同时
来源:互联网 发布:识别颜色的软件 编辑:程序博客网 时间:2024/05/16 07:56
当类的属性和类方法的形参名字相同时,类方法里面的变量是指向类属性还是类方法的形参呢?
这是我刚刚偶尔发现的问题,特地研究了一下。
例如,我现在写一个Test类:(注意:这里没有用this.count,因为this.count是肯定指向类属性的。)
<span style="font-size:18px;">public class Test {public static void main(String[] args) {SecondClass secondClass=new Test.SecondClass(100);System.out.println(secondClass.count);System.out.println(secondClass.second);}static class SecondClass{int count=1;int second=0;public SecondClass(int count) {count=count;//左部count是哪个?右部count又是哪个?second=count;//调用的是哪个count?}}}</span>
当形参编程mCount的时候呢?
static class SecondClass{int count=1;int second=0;public SecondClass(int mCount) {count=count;second=count;}}
第一段代码的运行结果是:
count=1
second=100
得到的结果是,类属性count并没有被类方法调用,而second=count;语句调用的是形参。
第二段代码的运行结果是:
count=1
second=1
得到的结果说明,在没有类属性跟类方法的形参重名的情况下,调用的才是类属性。
所以,在重名情况下,类方法的形参优先级比类属性更高!这就告诫我们,当调用类属性的时候,尽量使用this.变量!这样才不易造成混乱…保持良好的变成习惯,嗯!
0 0
- Java 当类的属性与形参的名字相同时
- 当在java不同包中有相同名字的servlet时,在web.xml中该如何配置?
- Python基础-不要对实例属性和类属性使用相同的名字
- 初识VS2008的尴尬体会(当命名空间名称与系统的类名相同时)
- mysql关键字与表名字段相同的解决方法
- Java中一个类怎么实现两个接口中相同名字的抽象方法
- Java 对象之间相同属性的赋值
- 当使用前台与后台两个springmvc时,各自扫描的包是否可以相同?
- Oracle Schema名字和Object名字相同时带来的问题
- 求名字相同,type最大的值
- Python匹配相同首字母的名字对
- 同时替换相同变量的名字
- 与Java相关的四十个名字
- 与Java相关的四十个名字
- 与Java相关的四十个名字
- 与Java相关的四十个名字,
- 与Java相关的四十个名字
- 与Java相关的四十个名字
- [Linux杂记] 用户添加 删除 及赋权限
- 解析 Linux 中的 VFS 文件系统机制
- C++ Primer(面向对象编程 二)
- 算法篇----粒子群优化(PSO)算法回顾(一)
- 【VC++技术杂谈004】使用微软TTS语音引擎实现文本朗读
- Java 当类的属性与形参的名字相同时
- C++ 标识符(msdn)
- [LeetCode]41.First Missing Positive
- cocos设计模式委托实践
- iOS开发仿淘宝添加到购物车的动画效果实现
- AxTocControl的EnableLayerDragDrop属性与selectItem、getselectitem与hittest
- ACM 图论入门
- 利用Objective-C的反射机制和运行时特性实现类静态方法的动态访问(一)
- 计算机丢失opencv_highgui2410.dll