对象是一个实体,比如说我是个人,那我就是实实在在存在的。
我的姓名就可以理解成引用,因为我的姓名与我的人对应。
引用:放对象的地址。
对象:实实在在存在的一块内存空间。
public static void main(String[] args) {
Node<String> node1 = new Node<>("1111");
Node<String> node2 = new Node<>("2222");
node1.next = node2;
Node<String> head = node1;
}
思考上述代码是什么意思?
node1,node2,head这三个局部类型的变量的空间都在栈帧当中
第一步:创建第一个结点
第二步: 构造第二个结点
第三步:node1.next = node2;
第四步:Node<String> head = node1;
实现结点时,把里面的元素类型给成泛型,它只能接受引用类型和基本类型所对应的包装类。
但如果写代码期间,没有把类型给成泛型,如顶例给成了普通类型呢?
public static void main(String[] args) {
Node node1 = new Node(1);
Node node2 = new Node(2);
node1.next = node2;
Node head = node1;
int a = 10;
}
这样的代码又该怎么理解呢?