## Java基础(二):变量类型
Java 变量类型
一、局部变量:类的方法中的变量
- 局部变量声明在方法、构造方法或者语句块中; 
- 局部变量在方法、构造方语句块中被执行的时候创建,当他们执行完成后,变量被销毁 
- 访问修饰符不能用于局部变量中; 
- 局部变量值在声明他的方法、构造方法或者语句块中可见; 
- 局部变量没有默认值,所以局部变量被声明后必须经过初始化才可以使用 - 实例- package HelloJava; public class JuBuBianLiang {
 public void age() {
 int age =0;
 age = age+7;
 System.out.println("小米年龄是: " + age);
 }
 public static void main(String[] args) {
 JuBuBianLiang bianliang = new JuBuBianLiang();
 bianliang.age();
 } }
 - 二、实例变量- 实例变量声明在一个类里面,但是在方法、构造方法和代码块之外; 
- 当一个对象被顺利化之后,每个实例变量的值就会跟着确定; 
- 实例变量在对象创建的时候创建,在对象被销毁的时候销毁; 
- 实例变量的值应该至少被一个方法、构造方法或代码块引用,使得外部能够通过这些方式获取实例变量信息; 
- 实例变量可以声明在使用前和使用后; 
- 访问修饰符可以修饰实例变量; 
- 实例变量对于类中的方法、构造方法、代码块是可见的,一般情况下应该把实例方法设置为私有,通过使用访问修饰符可以实现实例变量对子类可见。 
- 实例变量具有默认值,数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值为null。变量的值可以在声明时指定,也可以在构造方法中指定。 
- 实例变量可以直接通过变量名访问,但是在静态方法以及其他类中,就应该使用完全限定名:ObjectReference.VariableName。 - 实例- package HelloJava;
 import java.io.*;
 public class ShiLiBianLiang{
 // 这个实例变量对子类可见
 public String name;
 // 私有变量,仅在该类可见
 private double salary;
 //在构造器中对name赋值
 public ShiLiBianLiang (String empName){
 name = empName;
 }
 //设定salary的值
 public void setSalary(double empSal){
 salary = empSal;
 }
 // 打印信息
 public void printEmp(){
 System.out.println("名字 : " + name );
 System.out.println("薪水 : " + salary);
 } public static void main(String[] args){
 ShiLiBianLiang empOne = new ShiLiBianLiang("leon");
 empOne.setSalary(1000.0);
 empOne.printEmp();
 }
 }
 
 
三、 类变量(静态变量)
- 类变量也称为静态变量,在类中以static关键词声明,但是必须在方法之外; 
- 无论一个类常见了多少个对象,类只拥有类变量的一份拷贝; 
- 静态变量除了被声明为常量外很少使用,常量是指神明为public/private,final和static类型的变量常量初始化后不可改变; 
- 静态变量存储在静态存储区,经常被声明为常量,很少单独使用static声明变量; 
- 静态变量在第一次被访问时被创建,在程序结束时销毁; 
- 与实例变量具有相似的可见性,但为了对类的使用者可见,大多数静态变量声明为public类型; 
- 默认值和实例变量相似,数值型变量默认为0,布尔型默认为false,引用类型默认为null,变量的值可以在声明的时候指定,也可以在构造方法中指定,此外,静态变量还可以在静态语句中初始化; 
- 静态变量可以通过:ClassName.variableName的方式访问; 
- 类变量被声明为public static final 类型时,类变量名称一般建议使用大写字母,如果静态变量不是public 和final类型,其命名方式与实例变量以及局部变量的命名方式一致。 - 实例- package HelloJava; public class LeiBianLiang {
 // salary 是静态的私有变量
 private static double salary;
 // DEPARTMENT 是一个常量
 public static final String DEPARTMENT ="java开发工程师"; public static void main(String[] args) {
 salary = 13000;
 System.out.println(DEPARTMENT+"平均工资:"+salary+"元/月");
 }
 }
 
## Java基础(二):变量类型的更多相关文章
- java基础(四) -变量类型
		在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下: type identifier [ = value][, identifier [= value] ...] ; 格式说明:ty ... 
- Java基础(二)  基本类型数据类型、包装类及自动拆装箱
		我们知道基本数据类型包括byte, short, int, long, float, double, char, boolean,对应的包装类分别是Byte, Short, Integer, Long ... 
- 010  01 Android 零基础入门  01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二——变量类型——即Java中的数据类型
		010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二--变量类型--即Java中的数据类型 Java中变量的三要素 变量名 变 ... 
- Java面试题总结之Java基础(二)
		Java面试题总结之Java基础(二) 1.写clone()方法时,通常都有一行代码,是什么? 答:super.clone(),他负责产生正确大小的空间,并逐位复制. 2.GC 是什么? 为什么要有G ... 
- Java入土--Java基础(二)
		Java基础(二) 接上一讲,我们接着来聊聊Java的一些基础知识,下一讲就会进行流程的控制. 类型转换 首先呢,是类型的转换,接上一个内容的数据类型,类型转换就是数据类型更进一步的应用. 由于Jav ... 
- 【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错
		原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-impor ... 
- Java基础:变量、常量、作用域
		JAVA基础:变量.常量.作用域 变量:可以变化的量.Java是强类型语言,每个变量都必须声明类型. Java变量是程序中最基本的存储单元,要素包括变量名,类型和作用域. //类变量 static s ... 
- java基础04-数据类型扩展及面试题
		java基础04-数据类型扩展及面试题讲解 public class demo02 { public static void main(String[] args){ // 一.整数拓展: 进制 二进 ... 
- Java基础之变量
		Java基础之变量 目录 Java基础之变量 1.变量概述 1.1 为什么需要变量 1.2 简单理解 1.3 变量使用注意事项 1.4 程序中+号的使用 1.5 Java数据类型 1.6 整数类型 1 ... 
- Java基础之枚举类型Enum的使用
		Java基础之枚举类型Enum的使用 定义 public enum AccruedCleanEnum { SPREAD("1","发票"),OTHER(&quo ... 
随机推荐
- 05.Java面向对象
			一.面向对象基本概念 面向对象的特征 封装 封装是指利用抽象数据类型将数据(属性)和对数据的操作(方法)包装起来,把对象的属性和动作结合成一个独立的单位,并尽可能隐蔽对象的内部处理细节. 继承 一个类 ... 
- Node.js搭建简易用户登录
			根据学习笔记一的知识点搭建的简易用户注册登录模块,用户数据暂用json保存. HTML: <!DOCTYPE html> <html lang="en" dir= ... 
- 软件包,API,SDK的区别
			参考资料: https://www.jianshu.com/p/cac186cb168b https://blog.csdn.net/snowin1994/article/details/806080 ... 
- rust 宏
			macro_rules! four { () => {1 + 3}; } fn main(){ println!("{}", 1+four!()); println!(&qu ... 
- cb44a_c++_STL_算法_删除_(2)remove_copy_remove_copy_if
			cb44a_c++_STL_算法_删除_(2)remove_copy_remove_copy_if remove_copy()//在复制过程中删除一些数据remove_copy_if() 删除性算法: ... 
- 强大的IntelliJ IDEA怎么破解?
			IntelliJ IDEA是非常好用的一个开发工具,怎么样才可以破解也是非常关键的问题,本文简单介绍破解方法. 第一种方式,我们进入以下网站http://idea.lanyus.com/ 这里要注意一 ... 
- .NETCore微服务探寻(三) - 分布式日志
			前言 一直以来对于.NETCore微服务相关的技术栈都处于一个浅尝辄止的了解阶段,在现实工作中也对于微服务也一直没有使用的业务环境,所以一直也没有整合过一个完整的基于.NETCore技术栈的微服务项目 ... 
- SpringBoot 2.0 编程方式配置,不使用默认配置方式
			SpringBoot的一般配置是直接使用application.properties或者application.yml,因为SpringBoot会读取.perperties和yml文件来覆盖默认配置: ... 
- SpringCloud教程第6篇:config(F版本)
			一.简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ... 
- springcloud2.0 添加配置中心遇到的坑
			新手入门,在springcloud 配置config的时候遇到了几个比较烦的坑 先说1.5x版本的一些配置吧 首先是端点暴露的方式 management: security: enabled: fal ... 
