成员变量和局部变量

  • 成员变量:

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. Oracle COMMIT语句的处理顺序

    Oracle COMMIT语句相信大家都有一定的了解,下面就为您介绍Oracle COMMIT语句的处理步骤,希望对您能有所帮助. Oracle COMMIT语句处理顺序 当事务提交时,Oracle分 ...

  2. Android之Bmob移动后端云服务器

    源码下载:http://download.csdn.net/download/jjhahage/10034519 PS:一般情况下,我们在写android程序的时候,想要实现登录注册功能,可以选择自己 ...

  3. install brew cask

    os x install brew cask '/usr/../../brew-cask.rb' does not exist brew 已安装完毕,安装brew cask brew install ...

  4. windows如何向阿里云服务器传递文件

    一,前提说明 最近搞了一个阿里云服务器玩玩,打算自己搞一个小网站什么的. 然后再阿里云上花9.9买了半年的服务器. 服务器版本是 ubuntu_16_04. 二.目标是往阿里云服务器上上传本地文件. ...

  5. 关于python使用cv画矩形并填充颜色同时填充文字

    font = cv2.FONT_HERSHEY_SIMPLEX # 使用默认字体 cv2.rectangle(im, (10, 10), (110, 110), (0, 0, 255), thickn ...

  6. 新安装的soapui启动时报错及解决方法

    今天新安装了soapui准备测试一下接口,结果安装成功后启动时报错:The JVM could not be started. The maximum heap size (-Xmx) might b ...

  7. NOI2017&&codeM2017游记

    7.17 坐了一天动车到绍兴,宿舍环境什么的还是很棒的. 7.18 早上开幕式,没啥好看的,例行节目+讲话. 下午笔试,顺利满分,不过ccz挂了一道多选,99分,影响应该不是很大. 练习赛出人意料地没 ...

  8. 【Java提高】---枚举的应用

    枚举 一.枚举和静态常量区别                 讲到枚举我们首先思考,它和public static final String 修饰的常量有什么不同. 我举枚举的两个优点: 1. 保证了 ...

  9. Spark算子--SortBy

    转载请标明出处http://www.cnblogs.com/haozhengfei/p/39edcbb10b5076599c0e5609b7136b88.html SortBy--Transforma ...

  10. JavaScript语法基础:数组的常用方法详解

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 数组的定义 之前学习的数据类型,只能存储一个值(字符串为一个值).如果我 ...