1.==与equals有什么区别?
==号是比较的是基本数据类型,比较的是值。
equals是顶级父类Object类的方法,在Object里,equal的作用和==号的作用一模一样。他比较的是两个对象的引用。在String类中,重写了equal()方法,所以,当调用String里的equal方法时。字符串相同就相同
2.接口和抽象类的区别?
抽象类 接口 实现 子类继承实现(extends) 类实现(implements) 定义变量 普通变量 公共的静态常量 关键字 abstract interface 类里的方法 即可声明方法,也可实现具体方放
继承时,声明方法必须实现
只能声明方法,实现类时
方法全部实现
3.猜猜看,int,long,String,User,short,double,List 哪些是基本数据类型?顺便说说他们对应的包装类?
基本数据类型:int,long,short,double
对应的包装类:Integer,Long,Short,Double
4.说说ArrayList与Linkedlist的相同及不同
相同点:ArrayList与LinkedList都是List集合的实现,都是可以允许有重复值,可以进行排序的
不同点:ArrayList是数组集合而LinkedList是链表集合。ArrayList查询快,增删慢;LinkedList是查询慢,增删块。
5.Object的公用方法(写出3个),并简单介绍
toString()方法:转换字符串。如果不重写toString()方法,我们将获得是再内存里计算好的一串数字,返回来的是:对象类命+@+hashCode转换的一串数字。重写toString()后,获取我们需要的字符。
hashCode()方法:在Object中,hashCode()对内存地址进行计算值,按照哈希在内存运行机制存储。当两个值一样就按链表形式存。
equals()方法:在Object中,equal的作用和“==”一摸一样。调用Object里的equal()方法,值相同,指向的引用不同,所以,两个值相同的对象不同。如果不重写,equal就是==号,如果重写你就可以按照你的方式对值进行比较,如果重写了equal方法,最好吧hashCode也重写
6.啥是重写?啥是重载?
重载:多个方法的命名一样,里面的参数类型或个数不一样,重载是实现功能一样,调用的时候根据函数的参数来区别不同的函数
重写:方法名和参数都一样,只是方法的方法体不一样。将基类的方法重新实现。
重写是子类实现父类里的方法。重载是一个类里不同的方法。