精华内容
下载资源
问答
  • java中的引用数据类型

    2015-07-31 16:07:52
    java数据类型图: ┏数值型━┳━整数型:byte short int long ┏基本数据类型━━┫ ┗━浮点型:float double ┃ ┣字符型:char
    java数据类型图:
                                                 ┏数值型━┳━整数型:byte short int long
                  ┏基本数据类型━━┫              ┗━浮点型:float double
                  ┃                            ┣字符型:char                                          
    数据类型╋                            ┗布尔型:boolean              
                  ┃                            ┏类(class)
                  ┗引用数据类型━━╋接口(interface)
                                                 ┗数组(array)
    java的数据类型分基本数据类型(原始数据类型)和引用数据类型;
    1.基本八大类,图中可以很清楚的看到;这种类型的数据变量在声明之后java就会立刻分配给他内存空间。如:short a;  java会在可使用的内存空间寻找一个占两个字节的块给a变量;
    2.引用数据类型就那三种,类似C/C++的指针,它以特殊的方式指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址,想具体知道看看数据结构就好了。
    
    通俗讲,一、上图记住很够用;二、说内存、谈地址基本都是说引用而非基本;三、你可以把内存地址理解是你学号,而对象实体就是你,每次找你通过学号找,这就是引用;
    
    这个知识点的应用:
    1.“==”作用在引用数据类型间,判断内存地址是否相等,想判断内容实体用equals;
    

    2、基本传值传参传的是副本,修改后原值不变;引用传值传参穿的是地址,修改后原值改变。

    引用类型 就是只变量中存储的不是值而是一个内存中的地址的数据类型
    也就是说 变量中存储了这个变量的值所在内存中的地址 每次调用这个变量都是引用这个地址而得到真正的值 所以叫引用类型.

    引用说的土一点就是变量名和变量值是分开的,比如说Student s = new Student(),s就是个引用类型的变量,s这个名分配在栈空间里,但是s它指向的值在堆空间里,就好像指针的味道样。
    希望对你有帮助!

    展开全文
  • Java中除了基本数据类型其余变量类型均为引用数据类型。 int i= 0;//分配一块空间名称为i,里面内容为0;占用一块内存 类是静态概念处于代码区; 基本数据类型处于栈区。 对象 是new出来(即动态概念放到堆...

    Java中除了基本数据类型其余变量类型均为引用数据类型。

    int i= 0;//分配一块空间名称为i,里面的内容为0;占用一块内存

    类是静态概念处于代码区;

    基本数据类型处于栈区。

    类的实例话的对象 是new出来的(即动态的概念放到堆内存)

    String s;//s是一个空引用,目前指向为null;s处于栈区

    s= new String("hello world");//new的东西处于堆内存,s目前指向"hello world"这个字符串。

    对象中的成员变量各不相同,但类中的方法只有一份,只有在执行时才占用内存。

    方法调用是方法中中的参数还是一样若为基本数据类型则处于栈区,若为引用则为引用处于栈区指向已存在的实际对象所在的堆区。(需要注意的一点,在栈区中局部变量使用完后立即清除,但在堆区中的数据等待垃圾回收器的处理

    关于static会在稍后补充。



    展开全文
  • /* 一、 定义类: 使用类的形式,对现实中的事物进行描述 事物:方法,属性 方法:这个事物具备的...返回值类型 方法名(参数列表){ } } 要求:使用Java中的类,描述生活中的手机这个事物 手机...

    /*

        一、

    定义类:
    使用类的形式,对现实中的事物进行描述
    事物:方法,属性
    方法:这个事物具备的功能
    属性:变量
    格式:
    public class 类名{
    属性定义
      修饰符 数据类型 变量名 = 值

    方法的定义
    修饰符 返回值类型 方法名(参数列表){

    }
    }

    要求:使用Java中的类,描述生活中的手机这个事物
    手机事物,具备哪些属性,属于他自己的特性
    颜色,品牌,大小
    */
    public class Phone{
    //定义手机的属性
    String color;
    String brand;
    double size;

    }

    -----------------------------------------------------------------------------------------------------------------------------

    /*

        二、

    测试Phone类
    创建引用类型变量的格式

    数据类型 变量名 = new 数据类型();

    实现引用类型的步骤
    1.导入包,如果类都是在同一个文件夹,不需要导入包
    2.创建引用类型变量
    3.变量.类型中的功能
    */
    public class TestPhone{
    public static void main(String[] args){
    //创建引用类型的变量
    Phone p = new Phone();
    //System.out.println(p);  //输出内存地址

    //变量.变量中的功能
    //变量p.的方式,调用类中的属性
    //属性就是变量,赋值和获取值
    p.color = "红色";
    p.brand = "vivo";
    p.size = 5.5;

    //获取属性值
    System.out.println(p.color+" "+p.brand+" "+p.size);
    }
    }
    展开全文
  • 众所周知Java是一种强类型语言,在Java语言Java的数据类型一共分为两大类,分别为基本数据类型和引用数据类型,其中基本数据类型细分小类可分为整数类型、浮点类型、字符类型、布尔类型这四小类。 二、基本数据...

    一、前言

    众所周知Java是一种强类型语言,在Java语言中,Java的数据类型一共分为两大类,分别为基本数据类型引用数据类型,其中基本数据类型细分小类可分为整数类型、浮点类型、字符类型、布尔类型这四小类。

    二、基本数据类型和引用数据类型

    1. 基本数据类型

    只有8种,可按照如下分类 :

    • 整数类型: long、int、short、byte
    • 浮点类型: float、double
    • 字符类型: char
    • 布尔类型: boolean
    No. 数据类型 大小/位 可表示数据范围 默认值
    1 byte(字节型) 8 -128~127 0
    2 short(短整型) 16 -32768~32767 0
    3 int(整型) 32 -2147483648~2147483647 0
    4 long(长整型) 64 -9223372036854775808~9223372036854775807 0
    5 float(单精度) 32 -3.4E38~3.4E38 0.0
    6 double(双精度) 64 -1.7E308~1.7E308 0.0
    7 char(字符) 16 0~255 ‘\u0000’ (其实就是一个空格)
    8 boolean(布尔) - true或false false

    2. 引用数据类型

    引用数据类型非常多,大致包括:类Class、 接口类型Inteface、 数组类型Array、 枚举类型Enum、 注解类型、 字符串型

    例如,String类型就是引用类型。
    简单来说,所有的非基本数据类型都是引用数据类型。

    三、基本数据类型和引用数据类型的区别

    1. 存储位置区别

    a). 基本变量类型

    • 在方法中定义的非全局基本数据类型变量的具体内容是存储在栈中的,基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上的。

    b). 引用变量类型

    • 只要是引用数据类型变量(类class、接口interface、数组array),其变量或者对象的具体内容信息都是存放在堆中的,而栈中存放的是其具体内容所在内存的引用地址
      Tips : 通过变量地址可以找到变量的具体内容,就如同通过房间号可以找到房间一般
    public class Main{
       public static void main(String[] args){
           //基本数据类型
           int i=1;
           double d=1.2;
           
           //引用数据类型
           String str="helloworld";
       }
    }
    

    c)内存划分:

    在这里插入图片描述

    2. 传递方式区别

    a. 基本变量类型

    • 方法中定义的非全局基本数据类型变量,调用方法时作为参数是按数值传递的
    //基本数据类型作为方法参数被调用
    public class Main{
       public static void main(String[] args){
           int msg = 100;
           System.out.println("调用方法前msg的值:\n"+ msg);    //100
           fun(msg);
           System.out.println("调用方法后msg的值:\n"+ msg);    //100
       }
       public static void fun(int temp){
           temp = 0;
       }
    }
    
    • 内存空间
      在这里插入图片描述

    b. 引用变量类型

    • 引用数据类型变量,调用方法时作为参数是按引用传递的
    //引用数据类型作为方法参数被调用
    
    class Book{
        String name;
        double price;
    
        public Book(String name,double price){
            this.name = name;
            this.price = price;
        }
        public void getInfo(){
            System.out.println("图书名称:"+ name + ",价格:" + price);
        }
    
        public void setPrice(double price){
            this.price = price;
        }
    }
    
    public class Main{
       public static void main(String[] args){
           Book book = new Book("Java开发指南",66.6);
           book.getInfo();  //图书名称:Java开发指南,价格:66.6
           fun(book);
           book.getInfo();  //图书名称:Java开发指南,价格:99.9
       }
    
       public static void fun(Book temp){
           temp.setPrice(99.9);
       }
    }
    

    调用时为temp在栈中开辟新空间,并指向book的具体内容,方法执行完毕后temp在栈中的内存被释放掉

    • 内存空间
      在这里插入图片描述
      在这里插入图片描述

    四、参考

    文章来自: https://www.cnblogs.com/maskwolf/p/9972982.html

    展开全文
  • Java中的基本数据类型和引用数据类型作为参数传递的区别以及代码实现
  • java中的基本数据类型和引用数据类型内存中的位置 首先说明,"java中的基本数据类型一定存储在栈中的吗?”这句话肯定是错误的。 下面让我们一起来分析一下原因: 基本数据类型是放在栈中还是放在堆...
  • java中的基本数据类型和引用数据类型
  • Java引用数据类型String详解

    万次阅读 2020-07-02 23:54:44
    Java引用数据类型(String)引用数据类型概述引用数据类型与基本数据类型差别(举例说明) 引用数据类型概述 说到引用数据类型,那么何为引用数据类型? 引用类型,都可以用null值作为值,也就是说可以在初始化...
  • byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32767,默认值0 int:整型,用于存储整数,在内在中占32位,...
  • 1、Java中的数据类型分为两种: 1)原生数据类型(Primitive Date Type) 2)引用类型(对象类型)(Reference Type) 2、变量与常量:常量——值不会变化的量;变量——只可以变化的量 3、变量的定义:...
  • 总结,C++中指针是内存中一块裸露的地址,引用是这块内存上对象的别名,...而JAVA中的引用数据类型,我感觉既像是指针又像是引用,Java中的引用(A a = new A(1)中的a)可以改向别处,但不像指针这么随意,只能指向别的
  • java中的数据类型分为两大类:基本数据类型和引用数据类型 基本数据类型,包括数值型,字符型和布尔型。 数值型:1)整型:byte 1个字节;short 2个字节;int 4个字节;long 8个字节。  2)浮点型:float 4...
  • java中基本数据类型和引用数据类型的区别基本数据类型引用数据类型区别: 基本数据类型 byte short int long float double boolean char 引用数据类型 类 数组 接口 枚举 注解 区别: 基本数据类型在被创建时,在...
  • 1、JAVA中数据类型分为基本数据类型和引用数据类型。这个是引用数据类型在Java体系中的位置。在java的世界里就上述两种数据类型。 详细介绍: class MyClass{ private int num1; } MyClass class1 = new MyClass();...
  • Java的引用数据类型--枚举

    千次阅读 2020-03-30 17:17:58
    代码演示与讲解 /* 标题:Java的引用数据类型--枚举 作者:Nstar ... //枚举数据类型,Java中的引用数据类型 ZHANGSAN,LISI,WANGWU,ZHAOLIU } class Test_name{ public static void main(String[] arg...
  • 一、基本数据类型:byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0int:整型,用于存储整数,在...
  • Java中基本数据类型和引用数据类型的存放位置 局部变量(方法中) 基本数据类型 : int a = 10; 中a 和 10都放在栈中 引用数据类型 : A a = new A(); 中 引用 在栈中,new A()在堆中 成员属性(类中) 基本数据类型 : int ...
  • #JAVA中分为基本数据类型和引用数据类型区别 一、基本数据类型: byte:Java中最小数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-...
  • java中的基本数据类型和引用数据类型以及它们的存储方式堆内存和栈内存
  • java引用数据类型的传递
  • 基本数据类型{数值形【整型(byte,short,int,long),浮点型(float,double)】;字符型【char】;布尔类型【boolean】} 引用数据类型{类【class】;接口【interface】;...引用数据类型:变量存储在堆...
  • java中常量数据类型不单可以是基本数据类型,也可以引用数据类型,这种说法对吗
  • java的引用数据类型

    2017-07-02 17:06:36
    在之前博客中介绍了java数据类型包括基本数据和引用数据类型,而基本数据类型已经详细说明过了,今天简单...在java中除去基本数据类型,其他都是引用数据类型,就连自己定义类也是。 示例: public class Perso
  • byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0 int:整型,用于存储整数,在内在中占32位,即...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,887
精华内容 9,154
关键字:

java中的引用数据类型

java 订阅