一:java使用类数组 报错Exception in thread "main" java.lang.NullPointerException
收获:1points[i]=new Point(); //解决:在这里对类数组中的元素申请分配空间。
2调试debug,在Console里面看问题,在variables看id传送有什么问题
参考这篇:https://www.cnblogs.com/iAmSoScArEd/p/9762674.html
二:Exception in thread "main" java.io.FileNotFoundException: D:\HelloWorld.txt遇到这种情况怎么做
添加绝对路径 比如"D:/HelloWorld.txt" 要么写成/要么写成\\,
三:关于Java中length、length()、size()的区别
length——数组的属性;
length()——String的方法;
size()——List集合的方法;
(list的底层实现其实就是数组,size()方法最后要找的其实还是数组的length属性)
参考这篇:https://blog.csdn.net/qq_33236248/article/details/79884874
四:char[] arr=new char[1024];
开设了数组arr,具备1024个数组元素,分别是arr[0],arr[1],...,arr[1023],每个元素均可以存放一个char类型的数据。 (我的理解是里面的1024可以随便定义成自己想要的数据)
五:java中的ArrayList<Student> students=new ArrayList<Student>();
类型ArrayList是集合,在定义ArrayList类型变量时,后面的<>中定义泛型,就是用来定义集合中每一个元素的类型,你的代码中的students对象的每一个元素都是Student类型的对象。
那如果不定义<>这个,是不是ArrayList集合中的元素就是混合的呢? 如果不定义泛型,那么元素的类型就为Object,可以放任意类型,因为Object是所有类的父类。但是这不意味着你就可以混合,集合中的元素类型要一致。
六:eclipse 调试时Variables窗口中value中的id什么意义
那是对象的唯一标记(只对当前调试会话有意义)。当我们在多个方法中想确定我们看到的变量经过参数传递到很深的层次时是否同一个对象,我们就可以记录它的 id 来对比,id 相同就是同一个对象,也就是说我们用 a == b 判断都是成立的。
至于id 生成的规律是什么我也不是很了解!(并且我认为也不是代表内存地址)
七:eclipse调试以及step into step over step return区别
step into就是单步执行,遇到子函数就进入并且继续单步执行;(F5)
step over是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。(F6)
step return就是单步执行到子函数内时,用step return就可以执行完子函数余下部分,并返回到上一层函
数。(F7)
总结
step into:进入子函数
step over:越过子函数,但子函数会执行,
step return:跳出子函数,返回到上一级函数,但是子函数会执行。