美文网首页
Java 变量类型

Java 变量类型

作者: 西贝巴巴 | 来源:发表于2021-02-24 14:51 被阅读0次
package com.company;

/*
 * java 的变量类型
 *
 * 所有的变量在使用前必须声明
 *
 * 类型:
 * 1.类变量:独立于方法之外的变量,用static修饰
 * 2.实例变量:独立于方法之外的变量,不过没有 static 修饰。
 * 3.局部变量:类中的方法变量
 *
 * 局部变量:
 * 1.声明在方法、构造方法或者句块中
 * 2.创建的开始,结束的时候销毁
 * 3.访问修饰不能用户局部变量
 * 4.局部变量是在栈上分配的
 * 5.局部变量没有默认值,所以局部变量被声明后,必须经过初始化才能被使用
 *
 * 实列变量:
 * 1.实列变量声明在一个类中,但在方法、构造方法和语句块之外
 * 2.当一个对象被实例化之后,每个实例变量的值就跟着确定
 * 3.实例变量,在对象创建的时候创建,在对象销毁的时候销毁
 * 4.实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息;
 * 5.实例变量可以声明在使用前或者使用后;
 * 6.访问修饰符可以修饰实例变量
 * 7.一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见;
 * 8.实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;
 *
 * 类变量:
 * 1.类变量也叫静态变量,在类中以static关键字声明,必须在方法之外
 * 2.无论一个类创建类多少对象,类只拥有变量的一份拷份
 * 3.静态变量除了被声明为常量外很少使用,静态变量是指声明为 public/private,final 和 static 类型的变量。静态变量初始化后不可改变
 * 4.静态变量储存在静态存储区。经常被声明为常量,很少单独使用 static 声明变量
 * 5.静态变量在第一次被访问时创建,在程序结束时销毁。
 * 6.与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为 public 类型。
 * 7.默认值和实例变量相似。数值型变量默认值是 0,布尔型默认值是 false,引用类型默认值是 null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。
 * 8.静态变量可以通过:ClassName.VariableName的方式访问。
 * 9.类变量被声明为 public static final 类型时,类变量名称一般建议使用大写字母。如果静态变量不是 public 和 final 类型,其命名方式与实例变量以及局部变量的命名方式一致。
 *
 *
 * 成员变量、局部变量、静态变量的区别
 *
 *              成员变量           局部变量                    静态变量
 *
 * 定义位置     在类中,方法外     方法中,或者方法的形式参数       在类中,方法外
 *
 * 初始化值     有默认初始化值     无,先定义,赋值后才能使用       有默认初始化值
 *
 * 调用方式     对象调用                                    对象调用,类名调用
 *
 * 存储位置     堆中                  栈中                      方法区
 *
 * 生命周期     与对象共存亡              与方法共存亡          与类共存亡
 *
 * 别名       实例变量                                        类变量
 *
 *
 *
 * */
public class variableType {
    static int aa = 1;//类变量
    String haha = "你好啊";//实例变量
    public String name;//实例变量 对子类实可见的
    private double salary;//私有变量,仅在该类可见
    private static int a;//静态的私有变量
    public static final String NNN = "好的";//常量


    private static int staticInt = 2;
    private int staticInt2 = 2;
    private static final int staticInt3 = 2;
    public static final int staticInt4 = 2;


    public variableType(String empName) {//构造器
        name = empName;

        staticInt++;
        staticInt2++;
        System.out.println("staticInt = " + staticInt + "  staticInt2 = " + staticInt2);
        System.out.println("staticInt3 = " + staticInt3 + "  staticInt4 = " + staticInt4);


    }

    //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) {
        int a, b, c;
        int d = 3, g = 2, f = 4;//局部变量

        variableType vv = new variableType("西贝");
        vv.setSalary(10000);
        vv.printEmp();

        variableType vvv = new variableType("小米");
        //静态变量是用来声明规则的,一旦固定都是用用来引用的,类似社会中的法律,规定好后你只能拿来说。但是也可以改的,通过重新的声明法律就行。
    }

}

相关文章

网友评论

      本文标题:Java 变量类型

      本文链接:https://www.haomeiwen.com/subject/fuzjfltx.html