关于java中的assert 断言出现在extends 继承中的问题

朱柳瑞 发布于 2013/04/30 10:19
阅读 257
收藏 1

最近看java断言,在继承中,父类的assert只有当父类开启时才运行,而子类开启assert后父类的不会运行。这里我感觉疑惑:

1 子父类的继承关系,子类会继承父类的构造方法,而子类在也会首先调用父类的构造方法,这样,为何子类的assert开启而父类的assert不会运行?

2 assert是用来调试用的,因此在调试子类时,检查对应父类不是也应该么?包括其继承过来的变量等。

望大牛解答!!!!谢谢!!!!

加载中
0
红薯
红薯
弱弱的问一句,java 有 assert 吗?
阿_涵___
阿_涵___
怎么记得 是有的。
朱柳瑞
朱柳瑞
这个真的有,好像是1.4的
刘学炜
刘学炜
回复 @红薯 : 卖萌?:)
红薯
红薯
好像还真的有。。。
0
刘学炜
刘学炜
真的不行?我去试试。
0
朱柳瑞
朱柳瑞

引用来自“红薯”的答案

弱弱的问一句,java 有 assert 吗?
还是红薯哥好!
0
打杂程序猿
打杂程序猿
特定翻了一下api 发现有个 java.lang.AssertionError 的类。。。然后,查了一下断言资料(自从1.4 以后就有),默认关闭。。。需要调jvm参数。
关于这个断言我想说我的看法:
不知你了解这个断言是打算研究单元测试的实现,还是打算在写代码的时候使用,如果是前者,下面的文字就不要看了。

比较早支持的这玩意的是c++,用于在程序内部手动的调试程序里面可能出现的问题。不过,有个问题是,我们有了单元测试,在程序代码内使用这种假设代码是否合适?在代码里面写用于假设排错的代码,这件事不感觉到有点怪吗?

个人愚见,断言这个概念的使用,还是用在单元测试里面。我弱弱的问下,你看到那个开源项目里面有那个用到了这个特性?反正,我是没见过。
朱柳瑞
朱柳瑞
学习到这个了,有点小疑惑,就问一下,我也不知道用的不多
返回顶部
顶部