刚学java几天有个有关问题挺纠结,还望解惑
刚学java几天有个问题挺纠结,还望解惑首先申明我是个菜鸟,才看了进一个星期,本人在看thinking in java的时
刚学java几天有个问题挺纠结,还望解惑 首先申明我是个菜鸟,才看了进一个星期,本人在看thinking in java的时候发现里面有很多的例子是先下面的,
Java codepublic class inherit{ String name = new String("ok\n"); inherit obj = new inherit(); public static void main(String[] args) { inherit tmp = new inherit(); System.out.println("game over\n"); } } 这不是原例但是我在想他这样做的话在类inherit还没有完全的申明的时候,就可以建对象实例的话那么,也就是上面的例子那么这里obj就是是在递归的生成了,这很显然就是个缺陷,为什么那本书的作者还要那他作为例子,其次为什么java不学c++在类没建立完整的时候不允许生成实例对象,只是允许生成一个本对象的引用呢?
求解。。。
[解决办法] 你确定这个类能运行而不会抛出StackOverflowError
[解决办法] main是程序的入口函数 ,
static是属于类的不属于对象 ,static在类加载的时候会加载到方法区
[解决办法] 肯定会 内存溢出的
[解决办法] 探讨 你确定这个类能运行而不会抛出StackOverflowError[解决办法] 探讨 引用: 你确定这个类能运行而不会抛出StackOverflowError ++ 构造方法是私有的private,做的一个单例[解决办法] 探讨 引用: 你确定这个类能运行而不会抛出StackOverflowError ++ 构造方法是私有的private,做的一个单例[解决办法] 会抛出StackOverflowError,要看清楚作者在说什么问题
[解决办法] LZ的意思是“也就是上面的例子那么这里obj就是是在递归的生成了,这很显然就是个缺陷”,但实际上:不能
探讨 会抛出StackOverflowError,要看清楚作者在说什么问题[解决办法] 就现在这代码而言的话,会抛出StackOverflowError异常的、
[解决办法] 只有是static才不会
探讨 引用: 引用: 引用: 你确定这个类能运行而不会抛出StackOverflowError ++ 构造方法是私有的private,做的一个单例 少打了几个字,别个代码肯定多加了 构造方法是私有的private,做的一个单例 就算是私有的那也会内存溢出了啊,再说了,在书中所说的例子是说明类的继承和嵌套的[解决办法] thinking in java是一本好书 我也是新手
[解决办法] 这是LZ创造出来的bug吧?或是书上故意写出这样的bug举例?
[解决办法] 先看看基本的java语法
然后等你能够熟练的使用java的时候再去think in java吧
从技术上升到思想是一件很难的事情
别一开始就搞华丽的理论
没实际意义
写代码
是不断地经验累积的
新手同志
[解决办法] 这个BUG挺不错的,我没有写多少代码,但是我知道写这个代码是绝对不能运行的,思想上的东西,我不懂。
[解决办法] 肯定会 内存溢出的