Java_变量类型
主要是为了复习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_变量类型的更多相关文章
- Python学习--03变量类型
变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创 ...
- 5-2 bash 脚本编程之一 变量、变量类型等
1. bash变量类型 1. 环境变量 2. 本地变量(局部变量) 3. 位置变量 4. 特殊变量 2. 本地变量 VARNAME=VALUE, 整个bash进程 3. 环境变量 作用域为当前shel ...
- Javascript学习笔记:3种检测变量类型的方法
①typeof检测变量类型 console.log(typeof 1);//number console.log(typeof "a");//string console.log( ...
- 黑马程序员——C语言基础 变量类型 结构体
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)变量类型 1)局部变量 1> 定义:在函数内部定义的变量,称为 ...
- C++数据类型和变量类型。
数据类型 数字是自由的[不只属于某个类型]!但是它可以有不同的身份!int.char.float.double等身份.它以不同的身份[存储规则]存储在内存的某个位置内部! 变量类型 内存编号是不会变的 ...
- MySQL服务 - MySQL变量类型及变量设置
一.MySQL变量类型: MySQL通过变量来定义当前服务器的特性,保存状态信息等.我们可以通过手动更改变量的值来配置MySQL,也可以通过变量获得MySQL的当前状态信息.MySQL的变量类型可以从 ...
- Python 变量类型
Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...
- CUDA1.1-函数类型限定符与变量类型限定符
这部分来自于<CUDA_C_Programming_Guide.pdf>,看完<GPU高性能变成CUDA实战>的第四章,觉得这本书还是很好的,是一种循序渐进式的书,值得看,而不 ...
- C#变量类型
在C#语言中,我们把变量分为七种类型,它们分别是:静态变量(static varibles),非静态变量(instance variables),数组元素(array elements),值参数(va ...
随机推荐
- MySQL8.0-NoSQL和SQL的对比及MySQL的优势
一.SQL VS NoSQL SQL:关系型数据库,用SQL语句来操作数据 NOSQL:非关系型数据库,NoSQL的含义是不仅仅有SQL,而实际上大多数NoSQL不用SQL来操作数据 常见的关系型数据 ...
- AI佳作解读系列(一)——深度学习模型训练痛点及解决方法
1 模型训练基本步骤 进入了AI领域,学习了手写字识别等几个demo后,就会发现深度学习模型训练是十分关键和有挑战性的.选定了网络结构后,深度学习训练过程基本大同小异,一般分为如下几个步骤 定义算法公 ...
- Shell命令-文件及目录操作之touch、tree
文件及目录操作 - touch.tree 1.touch:创建文件或更改文件时间戳 touch命令的功能说明 touch命令用于创建新的空文件或改变已有文件的时间戳属性. touch命令的语法格式 t ...
- /usr/bin/ld: .build_release/tools/alignment_tools.o: undefined reference to symbol 'omp_get_thread_num@@OMP_1.0'
问题:/usr/bin/ld: .build_release/tools/alignment_tools.o: undefined reference to symbol 'omp_get_threa ...
- 【题解】放球游戏A
题目描述 校园里在上活动课,Red和Blue两位小朋友在玩一种游戏,他俩在一排N个格子里,自左到右地轮流放小球,每个格子只能放一个小球.每个人一次只能放1至5个球,最后面对没有空格而不能放球的人为输. ...
- Go语言的并发
一.Go语言中Goroutine的基本原理 Go语言里的并发指的是能让某个函数独立于其他函数运行的能力. Go语言的goroutine是一个独立的工作单元, Go 语言的并发同步模型来自一个叫作通信顺 ...
- HTML div 盒子 添加/删除——浮层
1.clear语法:clear : none | left|right| both 2.clear参数值说明:none : 允许两边都可以有浮动对象both : 不允许有浮动对象left : 不允许左 ...
- CentOS7安装jdk8及环境变量配置
下载jdk8 这里可以使用Windows下载,然后传到虚拟机 进入jdk下载页面 https://www.oracle.com/technetwork/java/javase/downloads/in ...
- Linux(1)-卸载挂载分区
> df -lh > fuser -m -v /dev/mapper/autovg-autolv > fuser -m -k -v /dev/mapper/autovg-autolv ...
- 降维【PCA & SVD】
PCA(principle component analysis)主成分分析 理论依据 最大方差理论 最小平方误差理论 一.最大方差理论(白面机器学习) 对一个矩阵进行降维,我们希望降维之后的每一维数 ...