Java学习
水木的编程那些事儿
这个作者很懒,什么都没留下…
展开
-
Java:子类对象初始化顺序探索
首先定义一个类New,然后执行New n = new New();代码进行初始化。 初始化时,会先执行New类的构造函数(但并不执行构造函数的实现代码),然后执行非静态代码块,接着再执行构造函数内部的实现代码。 以下是New类的定义,可以通过debug功能查看类初始化的过程。 class New{ public int a = 10; public New(){ System.out.println("Construct"); } public int b = 20; }原创 2020-10-22 08:12:52 · 105 阅读 · 0 评论 -
Java实验:解决System.in关闭后无法再继续使用流的问题
问题简述 当使用BufferedReader从键盘读入数据时,若调用了close方法,再次使用BufferedReader从键盘读入数据的话便会报java.io.IOException: Stream closed异常,产生此异常的代码见文末介绍。 问题分析 在Java IO体系中,若关闭了最外层包装流,那么内层被包装的流也会被关闭,比如使用BufferedReader从键盘读入,代码为: BufferedReader reader = new BufferedReader(new InputStreamR原创 2020-12-27 12:29:54 · 589 阅读 · 0 评论