1、你是怎样理解OOP面向对象的

目录
1、你是怎样理解OOP面向对象的
2、你是怎样理解多态的?什么地方用过?
3、重载与重写有什么区别?(上海)
4、接口与抽象类的区别(上海)
5、深拷贝与浅拷贝的理解(上海)
6、举例说明封装和继承是怎么回事?
7.sleep和wait在线程里有什么区别?(上海)
8、什么是自动拆装箱? int和有什么区别?以及以下程序运行结果 。(北京)
9、==和区别
10.能被继承吗?为什么用final修饰?(北京)
11. 和 区别
12、final、、
13.中有哪些方法
14、说一下集合体系?和区别
15、底层源码,数据结构
16、你说底层是 数组+链表+红黑树,为什么要用这几类结构呢?(深圳)
17.和区别
18、线程的创建方式
19、线程的状态转换有什么?(生命周期)
20、Java 中有几种类型的流
21.请写出你最常见的5个(北京)
22、谈谈你对反射的理解
23、什么是 java 序列化,如何实现 java 序列化?(北京)
1、你是怎样理解OOP面向对象的
面向对象是利于语言对现实事物进行抽象 。面向对象具有以下特征:
继承:继承是从已有类得到继承信息创建新类的过程 类与类之前可以继承(单继承)多实现 接口和接口之前多继承封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口 。多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应 。2、你是怎样理解多态的?什么地方用过?
同一个行为具有多个不同表现形式或形态的能力 。
父类引用指向子类对象,例如:
List list = new ();
就是典型的一种多态的体现形式 。
3、重载与重写有什么区别?(上海)
重载:方法名相同,参数不同,与返回值无关
重写:子父类关系,重写父类的方法
1、重载发生在本类,重写发生在父类与子类之间;
2、重载的方法名必须相同,重写的方法名相同且返回值类型必须相同;
3、重载的参数列表不同,重写的参数列表必须相同 。
4、重写的访问权限不能比父类中被重写的方法的访问权限更低 。
5、构造方法不能被重写
4、接口与抽象类的区别(上海)
抽象类:不可以创建对象 。
接口:不可以创建、可以写常量、默认方法(1.8)
抽象类要被子类继承,接口要被类实现 。
接口可多继承接口,但类只能单继承 。
抽象类可以有构造器、接口不能有构造器
抽象类:除了不能实例化抽象类之外,它和普通Java类没有任何区别
抽象类:抽象方法可以有、和这些修饰符、接口:只能是
抽象类:可以有成员变量;接口:只能声明常量
5、深拷贝与浅拷贝的理解(上海)
浅拷贝:基本数据类型,拷贝值,引用数据类型,拷贝地址值
深拷贝:基本数据类型,拷贝值,引用数据类型,地址值不相同
深拷贝和浅拷贝就是指对象的拷贝,一个对象中存在两种类型的属性,一种是基本数据类型,一种是实例对象的引用 。
1.浅拷贝是指,只会拷贝基本数据类型的值,以及实例对象的引用地址,并不会复制一份引用地址所指向的对象,也就是浅拷贝出来的对象,内部的类属性指向的是同一个对象
2.深拷贝是指,既会拷贝基本数据类型的值,也会针对实例对象的引用地址所指向的对象进行复制,深拷贝出来的对象,内部的类执行指向的不是同一个对象
6、举例说明封装和继承是怎么回事?
封装是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法 。