最近在准备面试,总结了几个java中面向对象的几个问题,问题本事还不够全面,要想知道还是要自己去找,但是在面试上应该是没多大问题了
Overload(重载)与Override(重写)的区别
重载:发生在一个类中,方法名称相同,参数列表不同,方法体不同(看对象类型)
重写:发生在父类中,方法名称相同,参数列表相同,方法体不同(看引用类型)
abstract class(抽象类)和interface(接口)的区别
1.抽象类有构造方法,接口没有
2.抽象类中可以有普通成员变量,接口没有
3.抽象类中可以包含非抽象的普通方法,接口中所有的方法都是抽象的
4.抽象类中可以包含静态方法,接口中不能包含
5.抽象类中的抽象方法的访问类型可以是public,protected,接口中的只能是public
6.一个类可以实现多个接口只能继承一个抽象类
String和StringBuff的区别
String提供了数值不可改变的字符串,StringBuff提供字符进行修改,String实现了equals方法,StringBuff没有
final、finally、finalize的区别
final:属于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承
finally:是异常处理语句结构的一个方法,表示总是执行
finalize:是Object类的一个方法,在GC(垃圾回收器)执行的时候会调用被回收对象的此方法
sleep()和wait()有什么区别
sleep就是正在执行的线程主动让出CPU,CPU去执行其他线程,如果当前线程进入了同步锁,sleep方法并不会释放锁
wait就是指一个已经进入同步锁的线程内,让自己暂时让出同步锁,以便其他正在等待此锁线程可以得到同步锁并运行
多线程有几种实现方法?同步有几种实现方法?
多线程有两种实现,分别是继承Thread类与实现Runnable接口(还有一个连接池,不太确定)
同步的实现方法有:synchronized、wait、notify
wait():是一个线程处于等待状态,并且释放所持有的对象的lock
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法
notify():唤醒一个等待状态的线程
ArrayList和Vector的区别
1.同步性
Vector是同步的,是线程安全的,ArrayList是不同步的,是线程不安全的
2.数据增长
两个都有一个初始的容量大小,当超狗容量时,就会增加存储空间
ArrayList增长为原来的1.5倍,Vector增长为原来的2倍
HashMap与Hashtable的区别
1.Hashtable是老旧的,HashMap是java 1.2引进的Map接口的一个实现
2.Hashtable是线程安全的,同步的 HashMap是线程不安全的,不是同步的
3.只有HashMap可以让你将空值作为一个表格的条目的key或value
List和Map区别
List存储单列数据的集合,Map是存储键和值这样双列数据的聚合
List存储的数据是由顺序的,并且允许重复,Map是没有顺序的,键是不能重复的,值可以重复
第一次发,希望能收获点好评i
- 【Java面试最近遇到的问题总结】
- 最近面试java遇到的高频问题总结
- 最近android面试问题总结,你会几个?
- Java面试常问的几个问题
- 自己总结的几个常见问题的解决方法
- Java和jsp编程中应该注意的几个常见问题
- Java面试常问的几个问题-
- 最近遇到的几个小问题,自己的基础知识太差劲了。
- DIY最近准备配一台经济型的电脑,查了一下配置如下,总价2481元,自己也不专业,不知道有没有问题
- JAVA基础面试中的几个问题[转]
- Java和jsp编程中应该注意的几个常见问题
- 最近正准备找工作呢,熟悉下递归算法,做了几个递归的例子包括汉诺塔问题
- Java面试中关于String的问题总结
- Java 日期时间类型的几个问题总结[转]
- Java面试常问的几个问题
- JAVA-近日遇到的java的日期时间类型的几个问题总结
- java初学者应该理解的几个问题?
- 学习总结:java面试方法重写详解,静态代码块和构造方法执行顺序问题
- 用Quartus II + Verilog 做FPGA/CPLD设计/仿真的几个基本问题(自己总结的,对初学者有效)
- Java和jsp编程中应该注意的几个常见问题