动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

Java引用类型相关知识

07-24 16:53 231浏览
举报 T字号
  • 大字
  • 中字
  • 小字

Java没有明显的指针而是提供了更加严格控制的引用类型( reference)。这篇文章将为java零基础的初学者介绍java引用类型相关知识,帮助大家更好的入门java。

Java引用类型包括数组和对象java中的数组必须显式分配结果是数组具有运行时确定的上限值。下面的代码给出了初始化数组的各种方法所有的赋值都是相同的

int primes1[]={23,5,7,11};
int primes2[]=new int[5];
int primes3[]=primes2;
primes[0] =2;
primes[1] =3;
primes[2] =5;
primes[3] =7;
primes[4] =11;

数组primes2和primes3指向的是相同的动态分配内存primes1指向另外一块具有类似值的内存。一个数组或者对象可以有多个引用变量同时指向。因此比较 primes==primes2的结果是假(引用指向了不同的内存)但是 primes2==primes3的结果为真。一个数组的长度可以通过检查它的长度属性来确定: primes2. length是5

每一个引用或者不指向任何对象(称为空引用)或者指向一个适当类型的对象的一个实例数组可以是空的此时它们不指向任何内存

指向对象是通过间接的方式的。因此

String s;

s = new String(“Measure for measure must be answered.”);

System.out.print1n(s.length());

调用了由字符串s指向的length方法。如果s是空的,间接方式是不可能的,导致了一个空指针异常。下面的代码产生了一个空指针异常:

​
string s;// a null reference since no string allocated
System. out. println(s.length();  // illegal!

​

Java尽量避免引用指向无效的对象。在传统的语言中,程序中可能会引入大量的非正确分配或者释放动态内存的错误。Java所采用的方法是迫使用户显示地分配每一个非简单类型的对象,并由垃圾收集器(garbage collector)来释放分配的内存,但是这种释放只有在知道这些内存没有被引用之后才可以执行。这种方法需要一些代价(垃圾收集器不会获得任何关于到哪里寻找可能是垃圾的内存的提示),但是却保证了一个引用永远都不会指向无效的内存。

另外,java的引用类型可以分为四种:强引用(Strong Reference);软引用(Soft Reference);弱引用(Weak Reference);虚引用(Phantom Reference)。这4种引用的强度依次减弱。

Java一共提供两种不同的类型,引用类型和原始类型(或内置类型),所以java的引用类型是属于java的基础性知识,大家务必要学会,只有学好java培训课程,打好扎实的基础才可以在后面更好的学习编程技术,更快的提高自己的java能力。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵1058
程序员代码小兵1058

5篇文章贡献21716字

作者相关文章更多>

推荐相关文章更多>

Java数据结构

HelloWorld10-31 08:24

浅谈MySQL中SQL优化的常用方法

军哥08-12 23:29

五分钟读懂UML类图

江湖人称小李白12-10 10:41

MyBatis开发框架的四大核心

IT逐梦者08-17 21:43

一次搞定continue,break和return

HelloWorld11-06 11:19

发评论

举报

0/150

取消