1.什么是类和对象

类是对具有相同类型的对象的抽象,具有相同特性(数据元素)和行为(功能)的对象的抽象就是类;

对象是对客观事物的抽象,对象就是一个一个具体的实例。

2.面向对象程序设计的三大特性是什么?分别描述这些特性的含义

封装、继承、多态。

封装是将数据以及对数据的操作封装成一个整体。

一旦子类继承父类以后,子类中就获取了父类中声明的所有的属性和方法。

在面向对象语言中,多态指不同事物具有不同的表现形式的能力,接口的多种不同的实现方式即为多态。

3.面向对象与面向过程编程,面向对象程序设计的优点

面向对象是一种以对象作为基本程序结构单位的编程思想;

面向过程是一种以过程为中心的编程思想。

优点:①可实现代码重用②可提高系统的可扩展性③便于系统管理和维护

4.构造方法

①构造方法名必须与所在类名相同

②构造方法没有任何返回值

③可以通过参数表和方法体为生成对象的成员变量赋初始值

5.构造方法与成员方法的区别

①作用不同:构造方法用于创建类的实例并对实例的成员变量进行初始化;成员方法实现对类中成员变量的操作,提供某些功能。

②调用方式不同:构造方法通过new运算符调用;成员方法通过对象调用。

6.什么是重载和重写,他们的区别是什么?

重载是在同一类中可以存在相同的方法名但是参数列表不同;

重写是子类继承父类之后,子类可以对父类中方法的实现过程进行重写,即方法名和参数列表相同、方法体不同。

①重载发生在本类,重写发生在父类与子类之间。

②重载的方法名必须相同,重写的方法名相同且返回值类型必须相同。

③重载的参数列表不同,重写的参数列表必须相同。

7.抽象类与接口的区别

①抽象类可以有已经实现了的方法,也可以有被abstract修饰的抽象方法,而接口根本不存在方法的实现。

②子类使用的关键词不同,实现抽象类使用extends来继承抽象类,而实现接口子类需要使用implements。

③抽象类可以有构造器,而接口不能有构造器。

④可使用的修饰符不同,抽象方法可以有public、protected和default,而接口方法有且只有一个public修饰符。

⑤抽象类只有单继承,而接口可以实现多继承。

8.内部类与匿名类的使用

内部类是在一个类的内部嵌套定义的类;匿名类不具有类名,不具有抽象性,不能派生出子类。

声明内部类时一定要先创建相应的外部类,在外部引用它时必须给出完整的名称,名称不能与包含它的类名相同;

匿名类是一种特殊的内部类,它在一个表达式内部包含一个完整的类定义,通常用在图形用户界面设计中进行各种事件处理。

9.错误和异常

错误是指程序遇到非常严重的不正常状态,不能简单地恢复执行,一般是在运行时遇到的硬件或操作系统的错误;

异常是指非致命错误,一般指在运行程序时硬件和操作系统是正常的,而程序遇到了运行错误。

10.请描述基于TCP的Socket编程服务器与客户端的通信过程

发送方的TCP将用户交来的字节流划分成独立的报文并交给网络层进行发送,而接收方的TCP将接收的报文重新装配交给接收用户。

①服务器初始化②建立连接③数据传输④断开连接

11.事件处理

对鼠标、键盘以及其他输入设备的各种操作或一个活动的发生称为事件;

鼠标、键盘以及其他输入设备操作的组件称为事件源;

事件处理是指一旦事件产生时需要执行的操作。

对事件的处理是通过事件监听器实现的,首先需要在事件源中登记事件监听器,又称为注册事件监听器;

每类事件都有相对应的事件监听器,监听器是接口,根据动作来定义方法,监听器对象必须实现相应的监听器接口。

12.流

按照数据传输的方向,可将流分为输入流和输出流。

输入流(Input Stream),将数据从文件、标准输入或其他外部输入设备中加载到内存。

输出流(Output Stream),将在内存中的数据保存到文件中,或者传输给输出设备。

按照流中元素的基本类型,可将流分为字节流和字符流。

字节流是由字节组成的;字符流是由字符组成的。

13.什么是线程?使用多线程的好处?

如果要实现一个程序内部多个任务并发执行,其中的每个任务就称为线程(Thread)。

Java语言提供了3种线程实现方式:Thread、Runnable和Timer/TimerTask。

线程是在进程独立内存区域内部独立执行的流程;一个进程内部可以有多个线程,这样的程序就是多线程程序。

使用多线程编程有如下优点:

①可以把程序中执行时间长的任务放到后台(交给线程)处理

②用户界面可以更加吸引人

③程序的运行速度可能加快

④在实现一些需要等待的任务时,可以释放一些珍贵的资源

⑤充分利用系统资源

14.线程的生命周期、优先级

线程从创建到执行完成的整个过程称为线程的生命周期。

线程的状态有以下6种:

①新建状态②就绪状态③运行状态④阻塞状态⑤等待状态⑥终止状态

Java语言中提供10个等级的线程优先级,分别用1~10表示,优先级最低为1,最高为10,默认为5。

15.线程互斥和临界区管理

线程互斥是解决线程间竞争关系的手段,线程互斥是指若干个线程都需要使用同一共享资源时,

任何时刻最多允许一个线程使用该资源,其他要使用该资源的线程必须等待,直到占有资源的线程释放该资源。

需要互斥访问的共享变量称为临界资源,并发线程中与共享变量有关的程序段称为临界区。

操作系统对共享一个变量的若干线程进入各自临界区有以下3个调度原则:

①一次至多只能有一个线程在自己的临界区内

②不能让一个线程无限期地留在自己的临界区内

③不能强迫一个线程无限期地等待进入自己的临界区;特别地,进入临界区的任一线程不能妨碍正等待进入的其他线程的进展

Java期末复习总结相关推荐

  1. java switch case怎么判断范围_【转】Java期末复习攻略!

    期末 19年就这样要过去了, 终于到了小时候作文里的未来呢! 然而,期末考试也随之来临了. 不知大家"预习"的怎么样呢? 期末复习资料的放送快接近尾声了 下面康康学长学姐们 怎么教 ...

  2. Java数据结构第五版期末考试_数据结构(java)期末复习

    [单选题]多基因遗传病的发病风险与下列哪个因素无关 [单选题]一般手锯的往复长度不应小于锯条长度的( ). [判断题]机器上所有;零件都必须进行机械加工. [单选题]一般划线精度能达到( ). [填空 ...

  3. Java期末复习速成(八)

    Java期末复习速成(八) 文章目录 Java期末复习速成(八) 泛型 泛型的使用 用泛型表示类 用泛型表示接口 泛型方法 泛型通配符 反射 Class类 Field类 Method类 泛型 在Jdk ...

  4. JSP Java 期末复习整理

    Java 期末复习 第一章 1.1.1 JSP 1.1.2 Jsp 优点 1.2.2 B/S技术工作原理 1.2.3 如何访问动态网页 1.2.4 -- Tomcat目录结构 1.2.6 -- Web ...

  5. Java期末复习小记

    个人网站已经开通了https,正在备案中.不出意外十一月底就能上线了,到时候个人博客和一些好玩的小工具都会放在上面.   最近忙着复习Java和操作系统,第二篇博客到现在才写完.这次主要是记录最近的J ...

  6. Java期末复习——ch02基本类型(进制转换,数据类型转换,汉字编码)

    第一题: /** 写出满足以下要求的 Java 代码.* ① 声明一个float 型变量 value,并赋以初值2.5.* ② 同一行声明 2 个 boolean型的变量 b1 和 b2,其中b2 被 ...

  7. Java期末复习基础知识整理(有点长)

    平台无关: 在一个计算机上编译得到的字节码文件可以复制到任何一个安装了Java运行环境的计算机上直接使用.字节码由Java虚拟机负责解释运行,即Java虚拟机负责将字节码翻译成本地计算机的机器码,并将 ...

  8. Java期末复习题目合集

    题目列表 7-1 一个整数各个位上的最大数字 7-2 十进制转二进制 7-3 判断回文 7-4 学投资 7-5 打印所有的水仙花数 ​7-6 逆序输出整数 7-7 1!+2!+--+N! 7-8 完数 ...

  9. SCAU JAVA期末复习

    第二章 JAVA语言基础与流程控制 1.JAVA语言标识符的规则 ①标识符由字母.数字.下划线和美元符号组成的字符串 ②第一个字符必须为:字母.下划线或$ ③标识符不能是关键字 ④标识符不能是true ...

  10. Java期末复习知识点 下

    碎碎念~ 终于来到了最后一堆啦,但其实好像前面的知识也没有消化地很好,但是会在不断地码代码的过程中好好吸收消化这些知识滴~ 完结撒花~ 在末尾的那一些知识其实自己还是没有理解好,最主要的是怎么把知识转 ...

最新文章

  1. 笔记 JVM调优流程
  2. fguillot json rpc_Hyperf 框架创建 JSON-rpc 服务
  3. 实现一个函数,对一个正整数n,算得到1
  4. 40个非常有创意的404页面设计作品
  5. 领导,你可以做得更好
  6. 前端学习(2178):vue-router得参数传递二
  7. Firefox 2015 最受国人欢迎的十大扩展
  8. oracle桌面工具plsql连接本地远程数据库
  9. 运行QTP测试脚本后,将编译结果写入指定文件(四)
  10. 音频文件--PCM、 WAV、 MP3及AMR格式分析
  11. Java关键字this详解
  12. 软件开发模式有哪些?
  13. BUS hound使用
  14. Unity UGUI 流光特效
  15. 矩阵转置matlab的函数,【ZZ】Matlab矩阵操作
  16. 微信小程序radio 标签 使用
  17. 灵性图书馆:好书推荐-《当下的力量》
  18. 射灯安装方法图解_射灯安装图解
  19. Dango笔记---manage.py 脚本的使用
  20. java压缩文件夹并加密

热门文章

  1. K8s系列之:Cronjob定时任务
  2. 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字(PTA)
  3. 透过《2021中国SaaS市场研究报告》,看用友YonSuite等如何引领云服务发展
  4. 8*8点阵实现心性图案
  5. 原生js颜色选择器取色器组件
  6. 利用PCL点云下采样实现数据体素化
  7. jango模板语言初识
  8. 诚意招聘嵌入式软硬件工程师寻求长期合作工程师做兼职STM32 51 8S FPGA 图像处理
  9. python读取邮箱邮件_Python实现读取邮箱中的邮件功能示例【含文本及附件】
  10. python删除列表中字符串,在Python中从列表中删除字符串