主要是为了复习java相关知识,本文主要内容来自于 http://www.runoob.com/java

一、局部变量

  • 局部变量声明在方法、构造方法或语句块中
  • 在方法、构造方法、语句块被执行的时候创建,执行完后,变量将会被销毁
  • 访问修饰符不能用于局部变量
  • 局部变量只在声明它的方法、构造方法或语句块中可见
  • 局部变量在栈上分配的
  • 局部变量没有默认值,所以声明后必须初始化才可使用。

二、实例变量

  • 实例变量声明在一个类中
  • 当一个对象被实例化之后,每个实例变量的值就确定了
  • 实例变量在对象创建的时候创建,对象被销毁的时候销毁
  • 实例变量的值应该至少被一个方法、构造方法或语句块引用,使得外部能够通过这些方式获取实例变量信息
  • 实例变量可以声明在使用前或使用后
  • 访问修饰符可以修饰实例变量
  • 实例变量对于类中的方法、构造方法或语句块是可见的
  • 实例变量具有默认值。数值型默认为0,布尔为false,引用变量为null
  • 实例变量可以直接通过变量名访问。

三、类变量(静态变量)

  • 类变量也称为静态变量,在类中以static关键字声明,但必须在方法、构造方法和语句块之外
  • 无论一个列创建了多少个对象,类只拥有类变量的一份拷贝
  • 静态变量除了被声明为常量外很少使用。常量是指声明为public/private, final/static类型的变量。常量初始化后不可改变
  • 静态变量存储在静态存储区,经常被声明为常量,很少单独使用static声明
  • 与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为public类型

实例:

 /**
* 静态变量和实例变量的区别?
* 1.静态变量需要使用 static 修饰符修饰.
* 2.实例变量属于某个对象的属性,必须创建了实例对象,才会分配空间。
* 静态变量不属于某个对象,而属于类,当类加载时就会被分配空间。
*/
public class Test003 {
private static int sTest; // 静态变量
private int nTest ; // 实例变量
private Test003(){
//int jTest = sTest; //局部变量 0,1,2
//int jTest = nTest; //局部变量 0,0,0
//int jTest = ++nTest; //局部变量 1,1,1 ; nTest 的值为:2,2,2
//int jTest = nTest++; //局部变量 0,0,0 ; nTest 的值为:2,2,2 nTest先赋值给jTest,然后再自加
sTest ++;
nTest ++;
System.out.println("sTest:"+ sTest + ", nTest:"+ nTest /*+ ", jTest:"+ jTest*/);
} public static void main(String [] args){
Test003 t = new Test003();
Test003 t1 = new Test003();
Test003 t2 = new Test003(); System.out.println(Test003.sTest); // 通过类名.静态变量来访问
System.out.println(t.nTest); //通过实例对象.实例变量来访问 // 无论创建多少个实例对象,永远都只为静态变量分配一次内存,其生命周期取决于类的生命周期;
// 实例变量生命周期取决于实例的生命周期。每创建一个实例,就会分配一次内存 /*打印结果为:
sTest:1, nTest:1
sTest:2, nTest:1
sTest:3, nTest:1*/
}
}

July 9, 2018 9:31 PM

Java_变量类型的更多相关文章

  1. Python学习--03变量类型

    变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创 ...

  2. 5-2 bash 脚本编程之一 变量、变量类型等

    1. bash变量类型 1. 环境变量 2. 本地变量(局部变量) 3. 位置变量 4. 特殊变量 2. 本地变量 VARNAME=VALUE, 整个bash进程 3. 环境变量 作用域为当前shel ...

  3. Javascript学习笔记:3种检测变量类型的方法

    ①typeof检测变量类型 console.log(typeof 1);//number console.log(typeof "a");//string console.log( ...

  4. 黑马程序员——C语言基础 变量类型 结构体

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)变量类型 1)局部变量 1> 定义:在函数内部定义的变量,称为 ...

  5. C++数据类型和变量类型。

    数据类型 数字是自由的[不只属于某个类型]!但是它可以有不同的身份!int.char.float.double等身份.它以不同的身份[存储规则]存储在内存的某个位置内部! 变量类型 内存编号是不会变的 ...

  6. MySQL服务 - MySQL变量类型及变量设置

    一.MySQL变量类型: MySQL通过变量来定义当前服务器的特性,保存状态信息等.我们可以通过手动更改变量的值来配置MySQL,也可以通过变量获得MySQL的当前状态信息.MySQL的变量类型可以从 ...

  7. Python 变量类型

    Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...

  8. CUDA1.1-函数类型限定符与变量类型限定符

    这部分来自于<CUDA_C_Programming_Guide.pdf>,看完<GPU高性能变成CUDA实战>的第四章,觉得这本书还是很好的,是一种循序渐进式的书,值得看,而不 ...

  9. C#变量类型

    在C#语言中,我们把变量分为七种类型,它们分别是:静态变量(static varibles),非静态变量(instance variables),数组元素(array elements),值参数(va ...

随机推荐

  1. 2019微信公开课 同行With Us 听课笔记及演讲全文

    [2019WeChat 微信公开课] 产品理念: 微信启动页 一个小人站在地球前面,每个人都有自己的理解和解读 所谓异类,表示与别人与众不同,即优秀的代名词. 微信的与众不同体现在尊重用户对产品的感受 ...

  2. MySQL 8.0 - Client does not support authentication protocol requested by server; consider upgrading MySQL client

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

  3. 【经典数据结构】B树与B+树

    本文转载自:http://www.cnblogs.com/yangecnu/p/Introduce-B-Tree-and-B-Plus-Tree.html 维基百科对B树的定义为“在计算机科学中,B树 ...

  4. vue2.0用组件实现选项卡

    HTML JavaScript 使用 $emit(eventName) 触发事件,在组件内部绑定点击事件,每个独立组件之间发生点击事件触发外层函数,实现选项卡功能

  5. 洛谷 P2042 【[NOI2005]维护数列】

    一直在想要做这道题,但是被那个硕大的Splay标签压垮了 好了,切入正题 这道题应该是我第二次用splay来维护区间问题 我还是太菜了QAQ 其实思路也很简单,就是以每一个位置的下标来进行维护,然后其 ...

  6. 20175221 《Java程序设计》第5周学习总结

    20175221   <Java程序设计>第5周学习总结 教材学习内容总结 接口的定义 接口声明:interface 接口名 接口体中只可以有常量,而没有变量 接口体中只有抽象方法(可省略 ...

  7. 应用调试(四)系统调用SWI

    目录 应用调试(四)系统调用SWI 系统调用 SWI代码片段分析 分析sys_write 构造sys_hello 应用程序调用SWI 嵌入汇编语法 测试APP 参考 title: 应用调试(四)系统调 ...

  8. DirectX11 With Windows SDK--21 鼠标拾取

    前言 拾取是一项非常重要的技术,不论是电脑上用鼠标操作,还是手机的触屏操作,只要涉及到UI控件的选取则必然要用到该项技术.除此之外,一些类似魔兽争霸3.星际争霸2这样的3D即时战略游戏也需要通过拾取技 ...

  9. javaScript事件机制深入学习(事件冒泡,事件捕获,事件绑定方式,移除事件方式,阻止浏览器默认行为,事件委托,模拟浏览器事件,自定义事件)

    前言 JavaScript与HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间.可以使用侦听器(或处理程序)来预订事件,以便事件发生时执行相应的代码.这种在传统软 ...

  10. Java(6)for循环

    一.for循环的使用场合 1.1.while循环——先判断,再循环 while(1.条件表达式){      //2.循环操作      //3.更改循环条件表达式 } 1.2.do…while——先 ...