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基础(二):变量类型的更多相关文章

  1. java基础(四) -变量类型

    在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下: type identifier [ = value][, identifier [= value] ...] ; 格式说明:ty ...

  2. Java基础(二) 基本类型数据类型、包装类及自动拆装箱

    我们知道基本数据类型包括byte, short, int, long, float, double, char, boolean,对应的包装类分别是Byte, Short, Integer, Long ...

  3. 010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二——变量类型——即Java中的数据类型

    010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二--变量类型--即Java中的数据类型 Java中变量的三要素 变量名 变 ...

  4. Java面试题总结之Java基础(二)

    Java面试题总结之Java基础(二) 1.写clone()方法时,通常都有一行代码,是什么? 答:super.clone(),他负责产生正确大小的空间,并逐位复制. 2.GC 是什么? 为什么要有G ...

  5. Java入土--Java基础(二)

    Java基础(二) 接上一讲,我们接着来聊聊Java的一些基础知识,下一讲就会进行流程的控制. 类型转换 首先呢,是类型的转换,接上一个内容的数据类型,类型转换就是数据类型更进一步的应用. 由于Jav ...

  6. 【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错

    原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-impor ...

  7. Java基础:变量、常量、作用域

    JAVA基础:变量.常量.作用域 变量:可以变化的量.Java是强类型语言,每个变量都必须声明类型. Java变量是程序中最基本的存储单元,要素包括变量名,类型和作用域. //类变量 static s ...

  8. java基础04-数据类型扩展及面试题

    java基础04-数据类型扩展及面试题讲解 public class demo02 { public static void main(String[] args){ // 一.整数拓展: 进制 二进 ...

  9. Java基础之变量

    Java基础之变量 目录 Java基础之变量 1.变量概述 1.1 为什么需要变量 1.2 简单理解 1.3 变量使用注意事项 1.4 程序中+号的使用 1.5 Java数据类型 1.6 整数类型 1 ...

  10. Java基础之枚举类型Enum的使用

    Java基础之枚举类型Enum的使用 定义 public enum AccruedCleanEnum { SPREAD("1","发票"),OTHER(&quo ...

随机推荐

  1. 利用java从docx文档中提取文本内容

    利用java从docx文档中提取文本内容 使用Apache的第三方jar包,地址为https://poi.apache.org/ docx文档内容如图: 目录结构: 每个文件夹的名称为日期加上来源,例 ...

  2. VSCode + WSL 2 + Ruby环境搭建详解

    vscode配置ruby开发环境 vscode近年来发展迅速,几乎在3年之间就抢占了原来vim.sublime text的很多份额,犹记得在2015-2016年的时候,ruby推荐的开发环境基本上都是 ...

  3. 基于NACOS和JAVA反射机制动态更新JAVA静态常量非@Value注解

    1.前言 项目中都会使用常量类文件, 这些值如果需要变动需要重新提交代码,或者基于@Value注解实现动态刷新, 如果常量太多也是很麻烦; 那么 能不能有更加简便的实现方式呢? 本文讲述的方式是, 一 ...

  4. Spring Boot 2 实战:利用Redis的Geo功能实现查找附近的位置

    1. 前言 老板突然要上线一个需求,获取当前位置方圆一公里的业务代理点.明天上线!当接到这个需求的时候我差点吐血,这时间也太紧张了.赶紧去查相关的技术选型.经过一番折腾,终于在晚上十点完成了这个需求. ...

  5. v-on事件修饰符

    .stop阻止冒泡 .prevent阻止默认行为 .capture实现捕获触发事件的机制(从大到小) .self实现只有点击当前元素时,才能出发事件处理函数 .once只触发一次事件函数 .stop和 ...

  6. SpringCloud gateway 3

    参考博客:https://www.cnblogs.com/crazymakercircle/p/11704077.html 1.1 SpringCloud Gateway 简介 SpringCloud ...

  7. 输入url后浏览器干了些什么(详解)

    输入url后浏览器干了些什么(详解) DNS(Domain Name System, 域名系统) 解析 DNS解析的过程就是寻找哪台机器上有你真正需要的资源过程.但你在浏览器张红输入一个地址时,例如: ...

  8. 区间dp 能量项链 洛谷p1063

    题目大意:如果前一颗能量珠的头标记为m,尾标记为r,后一颗能量珠的头标记为r,尾标记为n,则聚合后释放的能量为 (Mars单位),新产生的珠子的头标记为m,尾标记为n. 需要时,Mars人就用吸盘夹住 ...

  9. ceph对象存储RADOSGW安装与使用

    本文章ceph版本为luminous,操作系统为centos7.7,ceph安装部署方法可以参考本人其他文章. [root@ceph1 ceph-install]# ceph -v ceph vers ...

  10. 如何在Vim中更改颜色和主题

    大家好,我是良许. Vim是我们在Linux中非常常用的一款文本编辑器.Vim 是一款免费.开源的文本编辑器,它的功能和许多其他的文本编辑器大致相同,比如 Sublime 和 Notepad++ .V ...