成员变量和局部变量

  • 成员变量:

1、在一个类中,任何方法之外定义的变量;

    2、从面向对象的思想来说我们又把实例变量看成一个类的属性。

    3、实例变量在没有符初值时系统会自动帮我们做初始化: 整型数据初始化为 0,布尔型数据初始化为 false,对象类型初始化为 null。    实例变量的作用域在本类中完全有效,当被其他的类调用的时候也可能有效。

  • 局部变量:

1、在方法内定义的变量叫局部变量。

    2、局部变量使用前必须初始化,系统不会自动给局部变量做初始化。

    3、局部变量的生命范围在他所在的代码块,在重合的作用域范围内不允许两个局部变量命名冲突。注:局部变量与实例变量允许同名,在局部变量的作用域内,其优先级高于实例变量。     我们可以用  this.实例变量名  以区分局部变量。

</pre><pre name="code" class="java">//成员变量和局部变量的测试
/**
*
* @version 1L
* @author LinkinPark
* @since 2014-10-24
* @motto 梦似烟花心似水,同学少年不言情
* @desc ^成员变量直的是类范围内定义的变量,局部变量是在方法中定义的变量
* 系统加载类或者该类的实例的时,自动会为成员变量开空间,然后指定默认的初始化值
* 但是局部变量定义后,必须经过显式初始化后才能使用,系统不会执行默认的初始化
*/
public class Test07 {
static int a;
int c=2; /**
* @desc ^java允许对象来访问类成员,但是聪明的开发者应该绕开这个陷阱,类成员还是使用类作为主调好点
* @param args
*/
public static void main(String[] args) {
int b;
b = 5;
//a是成员变量,默认会有初始值
System.out.println(a);
//b是局部变量,不赋值的话不能直接访问
System.out.println(b);
new Test07().test();
} //局部变量覆盖成员变量,要是想访问成员变量的话,可以使用this作为主调
//虽然编程允许,但是尽量避免这种局部变量和成员变量重名的情况
public void test(){
int c = 1;
System.out.println(c);//1
System.out.println(this.c);//2
{
String huhu = "代码块中的变量";
System.out.println(huhu);
}
//huhu是在上面的代码块中定义的变量,脱离了代码块不能再次被访问到
//System.out.println(huhu);
} }

以下图片反应了类变量和实例变量的不同:





    

linkin大话面向对象--属性详解的更多相关文章

  1. linkin大话面向对象--构造器详解

       对象的产生格式:类名称  对象名 = new  类名称(); 因为有(),所以是方法,实际上它就是构造方法,并且是非私有的构造方法.如:CellPhone cp = new CellPhone( ...

  2. linkin大话面向对象--方法详解

    1,方法的参数传递机制:值传递. 首先弄懂2个概念:形参和实参. 形参(形式参数):相当于函数(Java中也把函数称之为方法)中的局部变量,在函数被调用时创建,并以传入的实参作为起始值,函数调用结束时 ...

  3. Javascript中prototype属性详解 (存)

    Javascript中prototype属性详解   在典型的面向对象的语言中,如java,都存在类(class)的概念,类就是对象的模板,对象就是类的实例.但是在Javascript语言体系中,是不 ...

  4. C#类、对象、方法和属性详解

    C#类.对象.方法和属性详解 一.相关概念: 1.对象:现实世界中的实体(世间万物皆对象) 2.类:具有相似属性和方法的对象的集合 3.面向对象程序设计的特点:封装 继承 多态 4.对象的三要素:属性 ...

  5. android:exported 属性详解

    属性详解 标签: android 2015-06-11 17:47 27940人阅读 评论(7) 收藏 举报 分类: Android(95) 项目点滴(25) 昨天在用360扫描应用漏洞时,扫描结果, ...

  6. OutputCache属性详解(一)一Duration、VaryByParam

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

  7. OutputCache属性详解(二)一 Location

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

  8. OutputCache属性详解(三)— VaryByHeader,VaryByCustom

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

  9. OutputCache属性详解(四)— SqlDependency

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

随机推荐

  1. [转载]阿里云MySQL优化主从同步,降低数据延迟

    1. 背景 为了提高系统的可用性和数据保护,MySQL通常采用master-slave的部署结构,简单高效,master和slave之间使用binlog来复制数据. binlog支持statement ...

  2. Android数据库之判断表是否存在

    Android开发的时候我们可能会用到它的本地数据库,在使用的时候有可能我们已经储存了数据了,但是,我们的表已经创建了,里面有数据,我们要怎么判断表是否已经创建可能就需要琢磨一下. 以下便是利用了,查 ...

  3. VS2015配置内核WDK7600环境,32位下.

    VS2015配置内核WDK7600环境,32位下. 学习内核驱动的编写,就要会配置环境.不然总是用记事本编写.比较不方便. 环境配置如下. 1.首先下载WDK7600, 课堂资料代码中已经上传.链接: ...

  4. DNS Prefetch初认识

    今天在看一个后台框架时,发现这样的代码: <link rel="dns-prefetch" href="//0.s3.envato.com">< ...

  5. kafka Topic 与 Partition

    Topic在逻辑上可以被认为是一个queue队列,每条消息都必须指定它的topic,可以简单理解为必须指明把这条消息放进哪个queue里.为 了使得Kafka的吞吐率可以水平扩展,物理上把topic分 ...

  6. 从“思考”的角度来看如何成为一名优质的Java架构师

    导读: 架构师应不应该写代码 为什么别人的系统总是那么烂 成为架构师最困难的门槛是什么? 如何更高效的学习? 1.架构师应不应该写代码 合格的程序员对于明确分配的任务会完成的很好,但是大部分情况下&q ...

  7. 洛谷 P1177 【模板】快速排序【13种排序模版】

    P1177 [模板]快速排序 题目描述 利用快速排序算法将读入的N个数从小到大排序后输出. 快速排序是信息学竞赛的必备算法之一.对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成.( ...

  8. Codeforces Round #409 (rated, Div. 2, based on VK Cup 2017 Round 2)(A.思维题,B.思维题)

    A. Vicious Keyboard time limit per test:2 seconds memory limit per test:256 megabytes input:standard ...

  9. [51nod1440]迈克打电话

    有n只熊,从1到n进行编号. 第i只熊的电话号码是si.每只熊会给那些电话号码是他的子串的熊打电话(可能会给自己打). call(i, j) 表示第i只熊给第j只熊打电话的次数,也就是第j个串在第i个 ...

  10. HDU 1541 树状数组

    树状数组入门博客推荐 http://blog.csdn.net/qq_34374664/article/details/52787481 Stars Time Limit: 2000/1000 MS ...