面向对象之变量

面向对象之变量

 

这里写的就是以后自己的学习标准

 

变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。

内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。

 

因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。

Java 的两大数据类型:

  • 内置数据类型
  • 引用数据类型

 

即内置变量和引用变量。

 

一、内置数据类型(基本数据类型)

  • 形如int a;

java内置数据类型:

int         a            =      10;

定义变量,分配存储空间      存储字面量。

这就是个初始化的过程。

这不是指向!a的存储空间就是存"10"。

 

int b=11;

a=b;

现在是传值!a的存储空间存"11",b的存储空间存"11"。

 

注意:内置数据类型(基本数据类型)的值就是值。

二、引用数据类型

       在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。

       ·对象、数组都是引用数据类型。

       数组是引用数据类型详见《数组详解》。

——菜鸟教程

  • 形如Integer a;

Integer  a   =   new Integer(3);

声明引用变量     实例化对象

 

新创建的Integer对象的引用可以赋值给Integer(引用变量的简称,以后都可以这样简称)变量。(是引用赋值给变量)。

引用变量a存储单元存放的是对象的引用

(变量a的值是一个“引用”值)

 

new是在内存中开辟了一块空间(实例化),创建一个对象。然后让引用变量a的值(引用值的简称,以后都可以这样简称指向它(对象)。  引用在此处就是Integer对象的引用。

 

 

声明:声明一个引用变量,包括引用变量名称和类型。

实例化:使用关键字new来创建一个对象。

初始化:使用new创建对象时(即实例化时),会调用构造方法初始化对象。

 

类是对象的模板,当使用类实例化一个对象时,相当于用模板复制了一个实例,如果创建多个对象,则会复制多个实例,当修改其中一个实例时,不会影响到其它实例。

 

变量a的值是一个引用值,它(引用)指向在上面示例中生成的类Integer的实例对象。

 

 

 

 

 

有个例子:

package com.array;

 

public class ArrTest {

 

    public static void main(String[] args) {

       // TODO Auto-generated method stub

       Student[] stu=new Student[3];

       Student a=new Student();

       a.setStuNo("112");

       a.setAge(12);

       stu[0]=a;

      

       System.out.println(stu[0]);

      

       a.setStuNo("33");

      

       System.out.println(stu[0]);

       //这个代码证明传递引用,不论哪个引用变量导致内存中对象变了,

       //其余的引用变量的""都会变

    }

 

}

 

输出结果:

学生编号=112, stuName=null, gender=null, age=12, score=0

学生编号=33, stuName=null, gender=null, age=12, score=0

 

 

注意:引用数据类型是传值引用,一处引用导致内存中的对象变了,所有引用变量的值指向的对象都变。(本来就是同一个对象!)

 

你可能感兴趣的:(java语法)