本小节我们将学习 Java5 以后出现的一个特性:泛型(Generics)。通过本小节的学习,你将了解到什么是泛型,为什么需要泛型,如何使用泛型,如何自定义泛型,类型通配符等知识。 1. 什么是泛型 泛型不只是 Java 语言所特有的特性,泛型是程序设计语言的一种特性。允许程序员在强类型的程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须做出声明。 我们在上一小节已经了解到,Java
在前面的小节中,我们学习了数组,本小节学习的集合同样用于存放一组数据,我们将学习什么是集合、集合的应用场景 ,在应用场景部分我们将对比 Java 数组与集合的区别,还将系统介绍 Java 集合的架构,也将结合实例来讲解集合的实际应用。 1. 什么是集合 在计算机科学中,集合是一组可变数量的数据项(也可能为 0 个)的组合,这些数据可能共享某些特征,需要以某种操作方式一起进行操作。 Java 中集合
一直以来,我们都使用 System.out.println() 方法向屏幕打印内容,那么如何接收输入的内容呢?本小节所学习的 Scanner 类就可以实现对输入内容的接收。在本小节,我们将学习 Scanner 类的定义,如何使用 Scanner 类以及其常用方法,在学完这些基础知识后,我们会在最后学习一个比较有趣的实例程序。 1. 定义 Scanner 是一个简单的文本扫描器,可以解析基础数据类型
在前面的 Java 字符串小节,我们就已经接触了 String 类,但并未提及 String 类相关的操作,现在有了面向对象相关前置知识,我们知道了类下面可以有相关的操作,作为 Java 语言的内置类,String 类也为我们预先定义了很多好用的方法,本小节我们将介绍 String 类的常用方法,并结合示例辅助理解。 1. String 对象的创建 String 对象的创建有两种方式。 第 1 种
本小节我们将学习 Java 接口(interface),通过本小节的学习,你将了解到什么是接口、为什么需要接口、如何定义和实现接口,以及接口的特点等内容。最后我们也将对比抽象类和接口的区别。 1. 概念 Java 接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现。 在 Java 中,被关键字 interface 修饰的 class 就是一个接口。接口定义了一个行为
本小节我们来学习面向对象的最后一大特征 —— 多态。多态是面向对象最重要的特性。我们将介绍多态的概念和特点,并带领大家实现一个多态的案例,你将了解到多态的实现条件、什么是向上转型以及什么是向下转型,并学会使用 instanceof 运算符来检查对象引用是否是类型的实例。 1. 概念和特点 多态顾名思义就是多种形态,是指对象能够有多种形态。在面向对象中最常用的多态性发生在当父类引用指向子类对象时。在
本小节我们将学习 Java 的继承,通过本小节的学习,你将知道什么是继承,继承有什么特点,如何实现继承,方法重写的概念和实现,方法重写和方法重载是比较容易混淆的概念,我们也会介绍两个概念的区别,这些都是本小节的重点,本小节的最后我们还会介绍 super 关键字以及 final 关键字。 1. 概念和特点 1.1 概念 继承是面向对象软件技术当中的一个概念。如果一个类别 B “继承自” 另一个类别
上一小节中,我们已经对类和对象有了一个基本的认识。不止于 Java,在各个面向对象语言的书籍资料中,都会提到面向对象的三大特征:封装、继承、多态。本小节我们就从封装开始,探讨面向对象的特征。本小节我们将学习什么是封装、为什么需要封装,最后也会以一个 NBA 球员类的案例来实现封装。 1. 概念和特点 类的基本作用就是封装代码。封装将类的一些特征和行为隐藏在类内部,不允许类外部直接访问。 封装可以被
本小节我们将学习什么是方法、如何自定义方法,并按照分类介绍每种方法的特点,对于有参数的方法传值,会讲到基本数据类型作为方法参数和引用数据类型作为方法参数的区别。也会学习可变参数方法的定义语法和使用场景,方法重载的使用和意义也是本节的重点学习内容。 1. 什么是方法 在前面我们已经了解过方法的概念,Java 程序的入口 main() 就是一个方法。System.out.println(); 语句中
数组在编程语言中是非常重要的数据结构。本小节我们来一起学习 Java 数组,通过本小节的学习,你将了解到数组的基本概念,如何声明数组以及数组的声明有哪些方式,如何初始化数组以及数组初始化有哪些方式,数组的常用操作有哪些,多维数组的声明、创建、初始化以及迭代等等。多维数组部分将以二维数组进行为例讲解,理解了二维数组,再去理解多维数组就相对容易了。 1. 什么是数组 数组是相同类型的数据按照顺序组成的
本小节我们将介绍 Java 语言中也是编程语言中的一个基本概念:变量。 通过本小节的学习,你将了解到变量是什么,如何创建变量,如何操作变量,变量的命名规范,这些是我们本小节学习的重点。我们也会介绍常量的概念和使用。 1. 什么是变量 在程序设计中,变量是指一个包含值的存储地址以及对应的符号名称。 从定义上来看,变量大概可分为两部分:变量的名字和变量的值,可通过变量名来访问变量值。简单来说,变量就是
1. Java 的历史 1995 年 5 月 23 日,Sun Microsystems 公司宣布 Java 语言诞生, 当时使用 Java 的总人数还不到 30 人,可能包括 Java 语言之父詹姆斯·高斯林在内的大多数联合创始人都无法预想,Java 在未来的二十年间,居然会给互联网乃至我们的生活带来如此深远的影响。 目前 Java 提供以下三个版本: Java Platform, Enterp
package hi; import hi.servlet; import hi.request; import hi.response; public class hello implements hi.servlet { public hello() { } public void handler(hi.request req, hi.
感觉纯凑数面试官嘻嘻哈哈的 1spring理解 2说说你的并发包都是java自带的还是第三方,我面完才反应过来他说的是并发,我听成了bean,因为刚问的spring,胡乱答了一通 3对分布式的理解 4分布式锁理解 5线程池拒绝策略 6项目架构 7最困难的点 8手撕堆排序我直说不会 他似乎有点绷不住?反正直接笑了 哦对了中间还问了一嘴垃圾回收算法 反问我直接问他为什么笑他说他风格就这样 整体下来感觉