Java面试宝典大全:_core Java、OOAD、XML、SQL、Web等
下载需积分: 34 | PDF格式 | 335KB |
更新于2024-07-29
| 50 浏览量 | 举报
"java经典面试宝典及整理"
**CoreJava部分**
1. 面向对象的特征有哪些方面?
面向对象的特征主要有以下几个方面:
* 抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
* 继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。
* 封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
* 多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
**面向对象的设计原则**
在面向对象设计中,有一些重要的设计原则,以下是一些常见的设计原则:
* 单一职责原则(SRP):一个类应该只有一个改变的理由。
* 开放封闭原则(OCP):一个软件实体(类、模块、函数)应该对扩展开放,对修改封闭。
* 里氏替换原则(LSP):所有引用基类的地方必须能透明地使用其子类的对象。
* 依赖倒置原则(DIP):高层模块不应该依赖于低层模块,而应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。
* 接口隔离原则(ISP):客户端不应该依赖于它不需要的接口。
**Java基础知识**
1. Java的基本数据类型有哪些?
Java的基本数据类型有byte、short、int、long、float、double、boolean、char等。
2. Java中的数组是如何声明的?
Java中的数组可以使用以下方式声明: dataType[] arrayName; 或者 dataType arrayName[];
3. Java中的继承有哪些特点?
Java中的继承有以下特点:
* 继承可以让子类继承父类的成员变量和成员方法。
* 子类可以重写父类的成员方法。
* 继承可以实现代码的重用。
**Java IO**
1. Java中的IO流有哪些类型?
Java中的IO流可以分为两类:InputStream和OutputStream。
2. Java中的Reader和Writer有什么区别?
Java中的Reader和Writer都是字符流,区别在于Reader是输入流,而Writer是输出流。
3. Java中的BufferedReader和BufferedWriter有什么区别?
Java中的BufferedReader和BufferedWriter都是缓冲流,区别在于BufferedReader是输入流,而BufferedWriter是输出流。
**Java多线程**
1. Java中的线程有哪些状态?
Java中的线程有以下几种状态:NEW、RUNNABLE、RUNNING、WAITING、TIMED_WAITING、BLOCKED、TERMINATED。
2. Java中的线程同步有哪些方法?
Java中的线程同步有以下几种方法:synchronized关键字、Lock接口、volatile关键字、 atomic变量。
3. Java中的线程通信有哪些方法?
Java中的线程通信有以下几种方法:wait()和notify()方法、join()方法、sleep()方法。
相关推荐
190 浏览量
1077 浏览量
249 浏览量
2013-03-21 上传
2013-02-18 上传
2010-10-22 上传

zhm20067069
- 粉丝: 0

最新资源
- KPMG网测SHL数字题详解:答案全掌握
- 数学建模常用算法详解与Matlab实例教程
- MATLAB实现Parzen窗概率密度估计与分类器
- Scratch3.0中高级教程第22-23课:自动售货机项目详解
- Vanilla开源音乐播放器 - 支持Android平台多格式
- 维基追猎者工具:分析Wikipedia用户活动指南
- jQuery实现游戏风格图片幻灯片切换功能
- 易语言实现PAK文件读取功能的源码解析
- 义务劳动管理系统UML设计分析与实践报告
- 2019年杭州电子科技大学普通物理考研真题解析
- Yii组件 yii-resque 介绍:PHP Resque集成与功能解析
- STM32系列单片机PCB设计及原理图资料下载
- React Native CodePush本机模块的使用与更新指南
- 如何将Nginx注册为Windows服务的详细步骤
- 掌握C++实现的周末快速光线追踪教程
- 雷霆飞机射击大战:Java图形界面小游戏完整源代码