南康家具网站建设,济南国画网站济南网站建设公司,代理记账客源怎么找,WordPress rss连接对于Java中的指针#xff0c;以下典型案例会让你对指针的理解更加深刻。 首先对于#xff1a; 系统自动分配对应空间储存数字 1#xff0c;这个空间被变量名称b所指向即: b —— 1
变量名称 空间
明…对于Java中的指针以下典型案例会让你对指针的理解更加深刻。 首先对于 系统自动分配对应空间储存数字 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(){};
}
对以上代码的测试结果可以试着自己分析一下正确结果如下 为什么会报错对代码进行分析 1. 首先我们设立了一个good类并定义了一个good类数组a。即a[0]a[1].......,a[N - 1]都是good类。 2.对a[0]内的mv进行赋值。
对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(){};
}
输出
即: 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(){};
}
输出 即给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(){};
}
输出 以上就是目前我对此特殊指针案例的理解。