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 ...
随机推荐
- echarts报表显示%+没有0
function showTablegroup(page) { var series; $.ajax({ type:'post', url:"<%=basePath%>flowA ...
- 区间RMQ问题
简介 RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j里的最小(大)值 ...
- Java Mail 实现第三方邮件发送功能
1 创建一个用于发送邮件的类 package com.latiny.service; import java.io.IOException; import java.io.InputStream; i ...
- [转帖]SAP S4 HANA 1610与ECC的比较
SAP S4 HANA 1610与ECC的比较 https://zhuanlan.zhihu.com/p/27266476 SAP S4 HANA是下一代的ERP套件,是SAP 战略的核心,相关资料也 ...
- Java instanceof运算符
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. 用法: res ...
- 进程间通信(队列、管道)、消费者模型和进程池(apply,apply_async,map)
一.队列(先进先出) 进程间通信:IPC(Inter-Process Communication) 队列是使用管道和锁定实现,所以Queue是多进程安全的队列,使用Queue可以实现多进程之间的数据传 ...
- 天气预测(CNN)
import torch import torch.nn as nn import torch.utils.data as Data import numpy as np import pymysql ...
- 【并发编程】【JDK源码】J.U.C--AQS (AbstractQueuedSynchronizer)(1/2)
J.U.C实现基础 AQS.非阻塞数据结构和原子变量类(java.util.concurrent.atomic包中的类),concurrent包中的基础类都是使用这种模式来实现的.而concurren ...
- [powershell] 批量重命名,修改文件名中的部分字符串
实例:替换一个目录下所有的字幕文件从720p到1080p ls $Path -Recurse |ForEach-Object{Rename-Item $_.FullName $_.FullName.R ...
- DirectX11 With Windows SDK--19 模型加载:obj格式的读取及使用二进制文件提升读取效率
前言 一个模型通常是由三个部分组成:网格.纹理.材质.在一开始的时候,我们是通过Geometry类来生成简单几何体的网格.但现在我们需要寻找合适的方式去表述一个复杂的网格,而且包含网格的文件类型多种多 ...