对JAVA 中“指针“理解
创始人
2024-05-26 00:57:25
0

对于Java中的指针,以下典型案例会让你对指针的理解更加深刻。

首先对于:

f24826fcb2a34d9c9895c4cf831503da.png

  系统自动分配对应空间储存数字 1,这个空间被变量名称b所指向即:

  b                    ——>                1

变量名称                                空间

明白上述再来分析以下典型案例:

import java.util.*;public class Main {public static int N = 100;public static void main(String[] args) {good a[] = new good[N];a[0].m = 1;a[0].v = 2;System.out.print(a[0].m + " " + a[0].v);}
}
class good{int m;int v;good(){};
}

对以上代码的测试结果可以试着自己分析一下,正确结果如下:

8e2694384a704b218baeb01f1a370d1d.png

为什么会报错?对代码进行分析:

    1. 首先我们设立了一个good类,并定义了一个good类数组a。即a[0],a[1].......,a[N - 1]都是good类。

    2.对a[0]内的m,v进行赋值。

对a[0]单独输出试试 :

import java.util.*;public class Main {public static int N = 100;public static void main(String[] args) {good a[] = new good[N];System.out.print(a[0]);}
}
class good{int m;int v;good(){};
}

输出: dfb69a06805a44d8a7d4d28551ebb0d1.png

即:  a[0]     ——>       null

  推测出,本代码没有给a[0]分配空间,即只有变量名,没有指向空间。那么a[0]就是一个good类空指针。

修改方法:

import java.util.*;public class Main {public static int N = 100;public static void main(String[] args) {good a[] = new good[N];a[0] = new good();a[0].m = 1;a[0].v = 2;System.out.print(a[0].m +" "+ a[0].v);}
}
class good{int m;int v;good(){};
}

输出:

c2098468168c47b2b5209c56b66919a3.png

即:给a[0]分配空间后再对,空间内部变量m,v操作 。

为了进一步证明a[0]是good类型空指针:

  如下对a[1]分配空间,对内部变量进行操作,再让a[0] 指向 a[1]所指向的空间即a[0],a[1]都指向一处空间:

import java.util.*;public class Main {public static int N = 100;public static void main(String[] args) {good a[] = new good[N];a[1] = new good();a[1].m = 1;a[1].v = 2;System.out.println(a[0]);a[0] = a[1];//a[0]指向a[1]System.out.println(a[0].m +" "+ a[0].v);System.out.print(a[1].m +" "+ a[1].v);}
}
class good{int m;int v;good(){};
}

输出: 

b4f4428f6fa1464b9668a0325f6862e6.png

以上就是目前我对此特殊指针案例的理解。

 

相关内容

热门资讯

一个女孩子,喜欢佛家,道家,儒... 一个女孩子,喜欢佛家,道家,儒家,易经,鬼谷子这些,什么性格?这一定是一位知性有内涵的女孩,而且与佛...
最新资金净流入超2000万元,... 截至2025年7月3日 10:26,恒生医疗保健指数强势上涨1.67%,成分股华昊中天医药-B上涨1...
瀚川智能跌2.03%,成交额2... 7月3日,瀚川智能盘中下跌2.03%,截至10:59,报14.95元/股,成交2701.94万元,换...
百龙创园:目前已获得阿洛酮糖相... 人民财讯7月3日电,7月3日,百龙创园在公众号发文称,公司从2014年起集中科研力量研发结晶阿洛酮糖...
短报文概念板块活跃 久之洋涨停   07月03日消息,截止11:00,短报文概念板块活跃,久之洋、雷科防务涨停。
云南云县遭遇局部特大暴雨:未造... 7月2日,受强对流天气影响,云南临沧市云县出现暴雨到大暴雨,局部地区特大暴雨降雨导致境内河流、水库水...
中文在线股价跌5.16%,诺安... 7月3日,中文在线跌5.16%,截至发稿,报24.61元/股,成交8.26亿元,换手率4.99%,总...
普利特跌2.06%,成交额1.... 7月3日,普利特(维权)盘中下跌2.06%,截至10:58,报10.47元/股,成交1.07亿元,换...
孩子始终不愿意和别人沟通,总是... 孩子始终不愿意和别人沟通,总是喜欢自己玩,孩子在学校没有朋友怎么办?孩子如果在公众场合比较喜欢独来独...
2025上半年A股股权融资回暖... 【环球网财经综合报道】2025上半年A股股权融资回暖,券商并购重组重塑投行生态。Wind数据显示,上...