linkin大话面向对象--属性详解
成员变量和局部变量
- 成员变量:
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大话面向对象--属性详解的更多相关文章
- linkin大话面向对象--构造器详解
对象的产生格式:类名称 对象名 = new 类名称(); 因为有(),所以是方法,实际上它就是构造方法,并且是非私有的构造方法.如:CellPhone cp = new CellPhone( ...
- linkin大话面向对象--方法详解
1,方法的参数传递机制:值传递. 首先弄懂2个概念:形参和实参. 形参(形式参数):相当于函数(Java中也把函数称之为方法)中的局部变量,在函数被调用时创建,并以传入的实参作为起始值,函数调用结束时 ...
- Javascript中prototype属性详解 (存)
Javascript中prototype属性详解 在典型的面向对象的语言中,如java,都存在类(class)的概念,类就是对象的模板,对象就是类的实例.但是在Javascript语言体系中,是不 ...
- C#类、对象、方法和属性详解
C#类.对象.方法和属性详解 一.相关概念: 1.对象:现实世界中的实体(世间万物皆对象) 2.类:具有相似属性和方法的对象的集合 3.面向对象程序设计的特点:封装 继承 多态 4.对象的三要素:属性 ...
- android:exported 属性详解
属性详解 标签: android 2015-06-11 17:47 27940人阅读 评论(7) 收藏 举报 分类: Android(95) 项目点滴(25) 昨天在用360扫描应用漏洞时,扫描结果, ...
- OutputCache属性详解(一)一Duration、VaryByParam
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
- OutputCache属性详解(二)一 Location
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
- OutputCache属性详解(三)— VaryByHeader,VaryByCustom
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
- OutputCache属性详解(四)— SqlDependency
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
随机推荐
- Oracle COMMIT语句的处理顺序
Oracle COMMIT语句相信大家都有一定的了解,下面就为您介绍Oracle COMMIT语句的处理步骤,希望对您能有所帮助. Oracle COMMIT语句处理顺序 当事务提交时,Oracle分 ...
- Android之Bmob移动后端云服务器
源码下载:http://download.csdn.net/download/jjhahage/10034519 PS:一般情况下,我们在写android程序的时候,想要实现登录注册功能,可以选择自己 ...
- install brew cask
os x install brew cask '/usr/../../brew-cask.rb' does not exist brew 已安装完毕,安装brew cask brew install ...
- windows如何向阿里云服务器传递文件
一,前提说明 最近搞了一个阿里云服务器玩玩,打算自己搞一个小网站什么的. 然后再阿里云上花9.9买了半年的服务器. 服务器版本是 ubuntu_16_04. 二.目标是往阿里云服务器上上传本地文件. ...
- 关于python使用cv画矩形并填充颜色同时填充文字
font = cv2.FONT_HERSHEY_SIMPLEX # 使用默认字体 cv2.rectangle(im, (10, 10), (110, 110), (0, 0, 255), thickn ...
- 新安装的soapui启动时报错及解决方法
今天新安装了soapui准备测试一下接口,结果安装成功后启动时报错:The JVM could not be started. The maximum heap size (-Xmx) might b ...
- NOI2017&&codeM2017游记
7.17 坐了一天动车到绍兴,宿舍环境什么的还是很棒的. 7.18 早上开幕式,没啥好看的,例行节目+讲话. 下午笔试,顺利满分,不过ccz挂了一道多选,99分,影响应该不是很大. 练习赛出人意料地没 ...
- 【Java提高】---枚举的应用
枚举 一.枚举和静态常量区别 讲到枚举我们首先思考,它和public static final String 修饰的常量有什么不同. 我举枚举的两个优点: 1. 保证了 ...
- Spark算子--SortBy
转载请标明出处http://www.cnblogs.com/haozhengfei/p/39edcbb10b5076599c0e5609b7136b88.html SortBy--Transforma ...
- JavaScript语法基础:数组的常用方法详解
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 数组的定义 之前学习的数据类型,只能存储一个值(字符串为一个值).如果我 ...