类型引用的? class Node{ int a; Node next; //为什么这里可以用Node声明next变量,这个时候还不是没存在Node类,编译器是怎么处理得(原理上)?} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Node next; 以node类型 申请一个变量 这里node是类,就是申请一个对象了 编译器是保存就编译的。所以就可以用Node声明next变量 这里只是模板,类就是模板,只有newInstance后才有对象的产生,所以没矛盾。 晕!这样的问题还需要问吗??没用IDE结果还是一样的啊! class Node{int a;Node next; //为什么这里可以用Node声明next变量,这个时候还不是没存在Node类,编译器是怎么处理得(原理上)?//没IDE和你手工编译的话,你这里没编译,只是个普通的文件,那关编译器什么事啊??} 说的对啊,如果用编译器,你保存一下就自动编译,所以就没有报错了。如果没有IDE那你那样学也不会报错啊。 没有错误首先 Node 是一个对象 你给对象起了一个 Node起一个叫 next 别名 怎么会报错? 你可以这样看,编译器的编译过程是需要扫描几次的,在扫描到class Node时,编译器就会知道现在增加了一个Node这样的类然后在Node next的时候,就会发现这个Node是已经定义了(虽然它结构还未完全读取完),这样是没有错误的 就是定义一个变量你要说对象也可以,只是堆中没分内存罢了。很正常的 JAVA版数据结构经常这样用!楼主可以去看看 以字节流读入文件(内容包括中文)时显示乱码 有关API文档的菜问题 如何在打包时把log4j配置文件排除在外? java nio文件映射问题,求助 JDBC问题 一个合并字冠的问题,估计没有描述清楚……,进贴看详细描述 Java的网络高手和Xml高手请进(三) 菜鸟提问Tomcat有什么用,怎么用,谢谢! 教你怎样用JBuilder7.0来开发串口程序 求助格式化日期问题 请问Java中线程的yield()方法,sleep()方法,wait()方法,start()方法的作用和区别 两个简单问题先来先给分[网络 + string]
int a;
Node next; //为什么这里可以用Node声明next变量,这个时候还不是没存在Node类,编译器是怎么处理得(原理上)?
//没IDE和你手工编译的话,你这里没编译,只是个普通的文件,那关编译器什么事啊??
}
你要说对象也可以,只是堆中没分内存罢了。很正常的 JAVA版数据结构经常这样用!
楼主可以去看看