zoukankan      html  css  js  c++  java
  • JAVA基本类型和引用类型

    今天刷题,碰到一个题目

    想不起来引用类型是什么意思了,搜了一下

    基本类型

    就是一个数字,字符什么的;

    引用类型

    引用类型代表着一个内存地址,这个地址里放着什么数据内容,它不关心,比如,MyBook a; a 就是一个应用类型,在内存中开辟了一个空间,放着地址,如果有 a = new MyBook(); 则给引用变量a 赋值,给MyBook的数据内容开辟空间,并将首地址赋给a。

    引用类型可以相互赋值 MyBook a,b;a = new MyBook();b = a;是可以的,a和b都是一个MyBook()对象存放的首地址。

    再回过头看这道题,AB没有疑问,C可以,但是不推荐,D final修饰引用变量,引用不能变,内容可以变;修饰基本数据类型的变量,内容不能变.

    public class Test {
        public static void main(String[] args)  {
            final MyClass myClass = new MyClass();
            System.out.println(++myClass.i);
     
        }
    }
     
    class MyClass {
        public int i = 0;
    }

      这段代码可以顺利编译通过并且有输出结果,输出结果为1。这说明引用变量被final修饰之后,虽然不能再指向其他对象,但是它指向的对象的内容是可变的。

  • 相关阅读:
    C macro : the " do { ... } while(0)" magic
    sscanf()函数
    poj-1200-hash-
    hduoj-1735 简单的贪心算法
    hduoj -2570-简单的贪心算法入门
    分治算法应用-最近点对的最小距离-hdu 1007 Quoit Design
    分治算法(转载)
    快速幂总结
    poj 1065 贪心算法
    toj ~3988~递归二叉树三种遍历的转换
  • 原文地址:https://www.cnblogs.com/TaoChiangBlog/p/5956351.html
Copyright © 2011-2022 走看看