0.java传参的本质都是”值传递”, 参数类型分为数值参数和指针值参数.
1.Java的接口和抽象类的区别
抽象类class+extend, 单一继承.
接口类interface+implement,可实现多个接口
报警门的例子https://www.cnblogs.com/dolphin0520/p/3811437.html
2.类的4种访问权限
private: 被其修饰的属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
protected: 被其修饰的属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
default:通常称为“默认访问权限“或者“包访问权限”。该模式下,只允许在同一个包中进行访问。
public: 被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包访问。
3.重写equals方法
Object的equals默认实现
public boolean equals(Object obj) {
return (this == obj);
}
//与"=="一个意思,但String类有不同实现.
对自定义的User类提供实现:
public boolean equals(Object obj) {
if(this == obj) {
return true;
}
if(null == obj) {
return false;
}
if(getClass() != obj.getClass()) {
return false;
}
User user = (User) obj;
if(!name.equals(user.name)) { //判断所有属性值
return false;
}
return true;//对于数据库对象,判断id即可
}
5.java中array和arrayList的区别和联系
(1)array是固定大小的, 访问速度快; 而arrayList可以执行’增删改’等操作,是动态扩容的, 如果arrayList越界会重新生成新的大数组并拷贝旧数组,效率较低.
(2)array只能存放同一类型数据, 而arrayList可存放不同类型数据,对基本数据类型的存取需要进行”装箱拆箱”操作,消耗性能.
(3)联系:array和arrayList的本质都是数组, 与”链表”无关!
参考:https://blog.csdn.net/chuntiandejiaobu10/article/details/52381664
java中的arrayList和linkList的区别和联系
本质不同:arrayList是数组, 而linkList是链表结构
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机存取(get和set)来说,ArrayList优于LinkList,是因为LinkList要移动指针。
3.对于add和remove,LinedList相对于ArrayList是有优势的,因为后者需要移动数据。
参考:https://blog.csdn.net/zf766045962/article/details/64945736