面试大全
- 你是怎么理解面向对象的
答:封装,继承,多态。 然后在分别讲一下这个三个的理解
封装:封装就是把对象的数据和行为组合在一起,把细节隐藏把方法暴露出去,让外界
只能通过该方法操作该对象的属性。
继承:继承就是子类继承父类,比如A继承了B,首先A是B。
继承的关键字extends(因可死den死)
多态:多态就是父类的引用指向子类的实例对象。
- Java 数据类型有哪些?
答:byte、int、short、long、float、double、boolean、char、引用类型、null类型
- 方法重载的要求有哪些?
答:在同一个类中,方法名相同,参数列表(个数,类型,顺序)不同,与返回值无关
- 方法重写的要求有哪些?
答: 在父子类中
重写方法与被重写方法的返回值类型和参数列表相同
重写方法不能有比被重写方法更严格的访问限制
重写方法不能抛出比被重写方法更广的异常可以抛出更有限或者不抛出异常
- 接口和抽象类的区别
答: 抽象类提供了成员方法的实现细节,接口只能存在于public,abstract中
抽象类中的成员变量可以是各种类型的,接口的只能是public,static,final类型
抽象类可以有静态方法和静态代码块,接口不可以有
一个类只能继承一个抽象类,但是可以实现多个接口
- 什么是接口?
答: 接口是一些方法的特征集合,用于定义实现类中的方法,用于解耦合,分离调用者和实现者.
- object类中的方法简单说几个,每个方法是做什么的
答: clone:实现浅复制,
getclass:获取当前类,
equals:比较
hashcode:获取对象的哈希值,
tostring:把对象转成字符串,
wait:线程挂起, notify,唤醒线程
notif:唤醒线程
notifyAll:唤醒所有线程,
Finalize: 建议GC回收
- string的方法写出15种
答:自己去查询一下,这里就不写出来了
- new string 会创建几个对象
答:如果常量池原本没有就创建2个
- string转int
答:Integer.parseInt(int)
- string的替换字符串的方法
答:replaceAll(锐普里死奥)用新的内容替换全部旧内容
replaceFirst(锐普里死for死特)替换首个满足条件的内容
- String转map
答: 1 Gson gson = new Gson();
2 Map<String, Object> map = new HashMap<String, Object>();
3 map = gson.fromJson(jsonString, map.getClass());#关键
4 String goodsid=(String) map.get("goods_id");
5 System.out.println("map的值为:"+goodsid);
- StringBuffer 是什么? 和 StringBuilder 有什么区别?
答:它们都是可变字符串,但是StringBuffer是线程安全的
- 线程中 sleep()和 wait()的区别
答: 调用sleep()的时候线程不会释放对象锁。wait()会释放
调用sleep()的时候线程可以自己醒来, wait()则需要其他线程唤醒
调用sleep()前不需要任何东西,wait()则需要调用wait对象的对象锁
- Java 实现一个线程有几种方式?
答: 第一种是继承 Thread 类 实现方法 run() 不可以抛异常 无返回值
第二种是实现 Runnable 接口 实现方法 run() 不可以抛异常 无返回值
- 什么是java的反射机制
答: 动态获取信息以及动态调用对象的方法的功能称为 java 语言的反射机制。
反射的主要功能分别是 反编译:.class–>.java
通过反射机制访问java对象的属性,方法,构造方法等;
- 表单提交方式有几种?区别是什么?
答: post和get方法
1、GET 使用