Java基础之问题小结
封装:
1.封装作用:A.保护数据;B.让修改数据的方式变简单
2.封装的基本原则:将实例变量标记为私有的private,并提供公有的getter与setter来控制存取动作。如:
int x = 3+24; //可以这样写 int x = 3 + one.getSize();
强迫其他程序都得调用setter,可以在setter中执行任何动作,而public就不可以。后面想再修改时也不需要改变其他部分的程序。
class GoodDog { private int size; //将实例变量设定为private的 public int getSize() { //通过调用的方式来取得该类型的值 return size; } public void setSize(int s) { //通过调用的方式来存入该类型的值 size = s; } void bark(){ if(size>60){ System.out.println("Wooof! Wooof!"); }else if (size>14){ System.out.println("Ruff! Ruff!"); }else{ System.out.println("Yip! Yip!"); } } } class GoodDogTestDrive{ public static void main(String[] args){ GoodDog one = new GoodDog(); one.setSize(70); GoodDog two = new GoodDog(); two.setSize(8); System.out.println("Dog one: " + one.getSize()); System.out.println("Dog two: " + two.getSize()); one.bark(); two.bark(); } } //运行结果如下: //Dog one: 70 //Dog two: 8 //Wooof! Wooof! //Yip! Yip!
ArrayList 和 数组的区别:
1.ArrayList占用的空间是连续的,当元素超过 ArrayList size 的 3/4 时,ArrayList 会扩容,而不是像数组一样是固定长度的。
2.ArrayList 的行为更像 Array,只是它是一个可变长数组。ArrayList是一个list,插到指定位置会比直接加到最后面要慢。
3.LinkedList 链表,它的空间存储是不连续的。它对于中间的插入或删除会比较快。
构造函数:
1.如果没写构造函数,编译器会帮你写一个默认的构造函数,如果自己写了一个构造函数,那么编译器就不会帮你写了。
2.要么自己写不带参数的构造函数,要么构造时必须带参数。

浙公网安备 33010602011771号