一、JAVA变量类型:①类变量与实例变量的异同点
在JAVA中,变量使用前必须声明,格式如下:
int a; //单个变量声明
int b, c, d; //多个变量一起声明
int e = 1, f = 2, g = 3; //声明时同时赋值(初始化)
JAVA的变量类型:1. 类变量(静态变量) & 2. 实例变量
都在类中函数外语句块外声明,但是类变量需要static修饰,实例变量没有
private static double salary; //声明私有静态变量salary,类型为双精度浮点
public static final String DEPARTMENT = "开发人员"; //声明公有静态变量DEPARTMENT,类型为String,final表示不可修改
public String name; //声明公有实例变量name,类型为String
private double salary; //声明私有实例变量salary,类型为double
无论生成了多少个实例,类变量只有一个,但是实例变量在每次实例化时都会生成一个;
例如:若定义了如下的类
public class StaticTest {
private static int staticInt = 2;
private int random = 2;
public StaticTest() {
staticInt++;
random++;
System.out.println("staticInt = "+staticInt+" random = "+random);
}
public static void main(String[] args) {
StaticTest test = new StaticTest();
StaticTest test2 = new StaticTest();
}
}
则在每次生成一个新的StaticTest实例时,staticInt都会+1,因为类变量只有一个,每次调用的staticInt都为那一个;但是每次实例化一个新的对象时, 都会生成一个新的random,random的值为3(初始化为2,自动调用构造函数+1)。
类变量主要用于声明常量,常量(声明为public/private,final和static,不可变),储存在静态存储区,很少单独用static声明为变量,声明为常量时用全大写字母命名
public static final String DEPARTMENT = "开发人员"; //声明静态变量DEPARTMENT,final表示为常量
静态变量第一次被访问时创建,程序结束时销毁;实例变量在对象创建的时候创建,在对象被销毁的时候销毁;
为了对类的使用者可见,大多数静态变量声明为public类型,大多数实例变量设为private,仅用于类中方法、构造方法或者语句块引用;
如果声明后没有初始化,则数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null,char默认值为\u0000。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化;
静态变量访问方式:ClassName.VariableName;实例变量访问方式:用完全限定名ObejectReference.VariableName;
实例变量可以声明在使用后
借鉴自菜鸟教程 http://www.runoob.com/java/java-variable-types.html
一、JAVA变量类型:①类变量与实例变量的异同点的更多相关文章
- java入门---变量类型&类变量&局部变量&实例变量&静态变量
在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下: type identifier [ = value][, identifier [= value] ...] ; ...
- Java中的类变量、实例变量、类方法、实例方法的区别
类变量:形如static int a; 顾名思义,类变量可以理解为类的变量,类变量在类加载的时候就已经给它分配了内存空间,不同于实例变量(int a; ),实例变量是在该类创建对象的时候分配内存的.并 ...
- Java易混淆的概率:成员变量、类变量、实例变量、局部变量
先看代码 public class Variable{ int b=0; //实例变量 static int a=0; //类变量 final String c="wws"; // ...
- Python类变量与实例变量及成员函数修饰方式说明(与Java定义方式进行类比)
Python类中的变量有类变量和实例变量之分. 类变量:变量绑定在类上,同一个类之间的共享变量,类比于Java中的静态变量static 公有变量定义 Java 的定义方式 class Test{ pu ...
- Java千百问_03基本的语法(001)_局部变量、类变量、实例变量有什么差别
点击进入_很多其它_Java千百问 局部变量.类变量.实例变量有什么差别 在聊局部变量.类变量.实例变量有什么差别之前,我们须要了解一下Java变量. 1.Java变量是什么 在数学世界中,我们知道有 ...
- java 类方法和实例方法 以及 类变量和实例变量 各种区别
我们已经知道类体中的方法分为实例方法和类方法两种,用static修饰的是类方法.二者有什么区别呢?当一个类创建了一个对象后,这个对象就可以调用该类的方法. 当类的字节码文件被加载到内存时,类的实例方法 ...
- 牛客网Java刷题知识点之全局变量(又称成员变量,分为类变量和实例变量)、局部变量、静态变量(又称为类变量)
不多说,直接上干货! 定义类其实就是在定义类中的成员.成员:成员变量<-->属性,成员函数<-->行为. 局部变量在方法内部声明,并且只能在方法内部使用,在外层的方法被调用时被 ...
- java 类方法和实例方法 以及 类变量和实例变量
类体中的方法分为实例方法和类方法两种,用static修饰的是类方法 类方法: 对于类中的类方法,在该类被加载到内存时,就分配了相应的入口地址.从而类方法不仅可以被类创建的任何对象调用执行,也可以直接通 ...
- Java 局部变量、实例变量、类变量(静态变量)区别
1. 局部变量: 局部变量是类的方法中的变量: 2. 实例变量: 实例变量也是类中独立于方法之外的变量,不过没有static修饰,也叫 对象变量 3. 类变量(静态变量): 类变量是类中独立于方法之外 ...
随机推荐
- sourcetree 免注册
http://www.cnblogs.com/xiofee/p/sourcetree_pass_initialization_setup.htmlSourceTree 安装之后需要使用账号登陆以授权, ...
- timer控件、三级联动、帐号激活权限设置
一.Timer控件 Timer实际就是一个线程控件. 属性:Enabled 是否被启用 Interval 多长时间执行一次控件中的代码 事件: Tick 事件中放要执行的代码. ...
- 网站app被劫持怎么办?HTTPDNS阿里云域名防劫持, DNSPod 移动解析服务 D+
网站app被劫持怎么办?HTTPDNS阿里云域名防劫持, DNSPod 移动解析服务 D+ HTTPDNS_移动开发_域名解析_域名防劫持-阿里云https://www.aliyun.com/prod ...
- 防火墙iptables 设置
在服务器上架了一个tomcat,指定好端口号,我就开始访问,未果! 公司对服务器(RedHat)端口限制,可谓是滴水不漏! 用iptables 查看防火墙设置: Shell代码 iptables -n ...
- json字符串 转Java List 简单方法
JSONArray jsonArr = JSONArray.fromObject(jsonStr); List<Map<String,Object>> listMap = (L ...
- Docker Kubernetes 常用命令
Docker Kubernetes 常用命令 增 # 通过文件名或标准输入创建资源. kubectl create # 读取指定文件内容,进行创建.(配置文件可指定json,yaml文件). kube ...
- springboot跑定时任务
使用@Scheduled注解实现 1.在启动类上加上@EnableScheduling 开启定时任务 2.新建一个任务类,在方法上添加@Scheduled注解 @Componentpublic cla ...
- 用mint-ui picker组件 实现省市区三级联动
公司上一期项目中新增了省市区滑动三级联动效果,用的是mint-ui的picker组件和popup组件,效果如下:点击确定换地区,点击取消不变 省市区数据是后台给的(根据上一级的id,获取下一级数据列表 ...
- Bootstrap3基础 table-bordered/hover 表格加外边框和鼠标悬停对应行的背景色加深
内容 参数 OS Windows 10 x64 browser Firefox 65.0.2 framework Bootstrap 3.3.7 editor ...
- tp剩余未验证内容-7
bash脚本中 的 set -e表示 exit immediately if a simple command returns a non-zero value.主要是为了防止错误被忽略.会被立即退出 ...