对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

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

 

相关内容

热门资讯

红利浪潮动能澎湃:深市800余... 随着2024年年报披露进入高峰期,深市公司在陆续公布2024年度经营“成绩单”的同时,也给出了真金白...
海 利 得:关于公司新一代光伏... 每经AI快讯,有投资者在投资者互动平台提问:董秘您好,贵公司说光伏膜产品已完成第三代技术迭代,同比第...
中央气象台4月21日10时继续... 转自:中央气象台中央气象台4月21日10时继续发布强对流天气蓝色预警:预计4月21日14时至22日1...
市场监管总局修订《采用国际标准... 格隆汇4月21日|据市场监管总局,日前,市场监管总局修订出台《采用国际标准管理办法》,将于2025年...
广西出现今年首场超警洪水! 记者从广西壮族自治区水文中心获悉,4月20日8时至21日8时,据水文监测,贺州、河池、梧州、百色及桂...
今天起,报名→ 转自:微言教育此次面试在31个省(自治区、直辖市)举办,各省(自治区、直辖市)的报名公告将陆续上网,...
乐普医疗(300003.SZ)... 2025年4月19日,乐普医疗(300003.SZ)发布2024年年报。公司营业总收入为61.03亿...
儿童怎样运动最能“蹿个子” 春暖花开,万物生长。都说春天是孩子最能长高的季节,真的是这样吗?怎样运动才最能“蹿个子”?近日,记者...
中央气象台4月21日10时继续... 转自:中央气象台中央气象台4月21日10时继续发布暴雨蓝色预警:预计,4月21日14时至22日14时...
甘肃省临泽县新华镇市场监管所开... 中国质量新闻网讯 “五一”劳动节将至。连日来,甘肃省临泽县新华镇市场监督管理所结合辖区监管实际,开展...
三晖电气涨2.06%,成交额2... 4月21日,三晖电气盘中上涨2.06%,截至11:07,报14.35元/股,成交2792.49万元,...
北京电子城高科发行10.8亿元... 观点网讯:4月21日,北京电子城高科技集团股份有限公司公告了2025年度第一期中期票据(品种一)和(...
前2月我国原油进口量下降5%   中化新网讯 日前,中国五矿化工进出口商会发布1—2月我国原油进口情况显示,1—2月,我国原油进口...
擦不掉,根本擦不掉!女子家门口... “被家门口的树暗算了。一大早,想骑个共享单车出门,坐凳上、车把手上都是黏糊糊的点点。餐巾纸根本擦不掉...
三连冠!泰安市体校男篮勇夺省篮... 转自:泰安发布近日,从2025年山东省篮球锦标赛暨山东省第二十六届运动会篮球积分赛(男子甲组)赛场传...
华翔股份跌2.00%,成交额4... 4月21日,华翔股份盘中下跌2.00%,截至11:06,报15.18元/股,成交4937.01万元,...
国产电影票房前十中四部为京产 来源:北京日报 北京日报讯(记者王金跃)在第15届北京国际电影节中国电影高质量发展论坛上,北京电影家...
皖新传媒涨2.13%,成交额5... 4月21日,皖新传媒盘中上涨2.13%,截至11:12,报6.70元/股,成交5744.65万元,换...
热搜!京东宣布:招聘10万名全... 炸锅了。4月21日,京东发布《致全体外卖骑手兄弟们的公开信》,针对部分平台强迫外卖骑手“二选一”、不...
安诺其涨2.14%,成交额1.... 4月21日,安诺其盘中上涨2.14%,截至10:56,报5.25元/股,成交1.10亿元,换手率2....