Java基础知识系统梳理
林博弈
编程使我快乐~
展开
-
01.Java基本概括
基本概括发展之初要求语言本身是中立的,也就是跨平台的特性可移植性/跨平台:核心优势,设计时就注重跨平台性简单性:语法上相当于C++的简化版本(没有头文件、指针运算、结构等)面向对象:接口实现了多继承,本身是单继承分布式:能够处理TCP/IP协议、通过URL或者远程方法调用,就和打开本地文件一样简单健壮性:检测机制非常的完善(Java的指针模型可以消除重写内存和损坏数据的可能性)安...原创 2019-08-20 09:46:41 · 108 阅读 · 0 评论 -
14.接口
介绍接口主要用来描述类具有的功能,对类的一组需求描述,并不给出每个功能的具体实现,而这些类要遵从接口描述的统一格式定义一个类可以实现多个接口特性1.接口也可以被扩展,像继承一样(可以从多条具有较高通用性的接口到较高专用性接口的链)2.接口中所有方法自动的属于public,因此在接口中声明方法时不必提供关键字public,但是实现的时候必须写上public3.接口的域自动为public...原创 2019-09-05 07:53:47 · 109 阅读 · 0 评论 -
14.反射
介绍提供了丰富且精心设计过得工具集,使得可以编写动态操纵Java代码的程序场景:戴昂应用于JavaBeans中用途:运行时分析类的能力运行时查看对象,例如编写一个toString方法供所有类使用实现通用的数组操作代码利用Method对象,这个对象很像C++中的函数指针Class类Java在运行时每一个对象始终有一个运行时的类型标识,虚拟机可以利用运行时类型信息选择相应的...原创 2019-09-05 07:51:13 · 149 阅读 · 0 评论 -
13.对象包装器和自动装箱
介绍即有时需要将int这样的基本类型转换为对象,Java中每个基本类型都有一个与之对应的类,这些类成为包装器(warpper)包括(前六个属于Number的超类)Integer、Long、Short、ByteFloat、DoubleCharacterVoidBoolean注意1.这些类都是不可变得一旦构造好了,就不可改变其中的值2.这些类是final,因此无法继承...原创 2019-09-05 07:50:12 · 132 阅读 · 1 评论 -
12.Object类
介绍Object是所有类的始祖类,没有被明确的指出超类默认就是继承该类方法equals方法该方法默认检测两个对象是否具有相同的引用,返回true或false但很多时候这种比较方式显得不那么合理,所以很多时候就需要我们来重写equals方法Java语言规范要求equals方法具有下面的特性1.自反性:对于任何非空引用x,x.equals(x)必须返回true2.对称性:x.equ...原创 2019-09-03 14:15:44 · 143 阅读 · 0 评论 -
HashCode的作用原理和实例解析
HashCode的特性1.HashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,HashCode经常用于确定对象的存储地址;2.如果两个对象相同, equals方法一定返回true,并且这两个对象的HashCode一定相同;3.两个对象的HashCode相同,并不一定表示两个对象就相同,即equals()不一定为true,只能说明这两个对象在一个散列存储结构...转载 2019-09-03 14:14:47 · 439 阅读 · 0 评论 -
11.继承
基本概念语法(extend)被继承的类(超类、父类、基类)继承的类(子类、派生类、孩子类)super:两种用法,调用父类的对应函数或构造器super.xxx():调用超类中的函数super(n,s,year):调用超类中含有n、s、year参数的构造器的简写方式(必须是子类构造器的第一条语句)ps:由于子类无法直接调用父类中私有变量,所以仅可以通过调用父类的构造器进行对应变量的初...原创 2019-09-02 14:48:00 · 110 阅读 · 0 评论 -
10.面向对象基础
对象对象的三个主要特性对象行为(即对象的方法,调用后会相应的改变对象的状态)对象状态(对象中保存着的描述当前特征的信息)对象标识(可以理解为同一个类实例化出来的不同对象,他们之间状态是独立的)什么是面向对象?面向对象程序设计(OOP)是当今主流的程序设计泛型面向过程与面向对象规模较小:面向过程方式比较理想规模较大:面向对象方式比较理想面向对象重要特性封装继承多态封...原创 2019-09-02 14:46:25 · 141 阅读 · 0 评论 -
09.数组
数组使用声明:int[] a或int a[]创建数组:用默认值新建:int[] a = new int[100]自定义初始化值的新建:int[] a = {2,3,5,7,11,13};匿名数组新建:new int[] {17,15,23,52};ps:下标是从0开始的ps:数组的初始化默认值数字数组创建时默认为0Boolean数组创建时为false对象数组创建时为...原创 2019-09-01 14:30:25 · 133 阅读 · 0 评论 -
08.控制流程
分类顺序结构、选择结构、循环结构选择结构单选择结构(if)、双选择结构(if-else)、多选择结构(if-else if-else)、switch结构switch多值判断(处理多个选项)语法:switch(){…}有case、defaultcase标签可以是:char、byte、short、int的常量表达式、枚举常量、JavaSE7开始还可以是字符串如果case中不brea...原创 2019-09-01 14:28:55 · 111 阅读 · 0 评论 -
07.字符串
概念Java字符串就是Unicode字符序列常用方法子串(substring)拼接(+)是否相等(equals();)不区分大小写是否相等(equalsIgnoreCase();)charAt()compareTo()startWith()、endWith()indexOf()lastIndexOf()length()replace()toLowerCase()、to...原创 2019-09-01 14:23:35 · 88 阅读 · 0 评论 -
06.变量常量运算符
变量使用驼峰法则命名常量全部大写命名final修饰运算符算数运算符+-*/:加减乘除当/的两边都是整数是,表示整数除法,否则为浮点除法%:取模操作ps:整数/0会产生一个异常,而浮点数/0产生一个无穷大或者NaN的结果整数运算:1.如果两个操作数有一个为Long,则结果也为long。2.没有long时,结果为int。即使操作数全为short,byte...原创 2019-08-22 09:31:36 · 126 阅读 · 0 评论 -
05.数据类型及其转换
数据类型8种基本类型:4种整型、2种浮点类型、1种字符类型(char)、1种布尔类型ps:Java还提供了一个表示任意精度的算书包(big number),它是一个对象整型int、short、long、byteint(4字节)short(2字节)long(8字节)表示方法:数值后缀加上"L"或者"l"byte(1字节)十六进制(0x、0X开头)、八进制(0开头)、二...原创 2019-08-22 09:28:06 · 140 阅读 · 0 评论 -
03.Java注释(包含javadoc生成规范文档要点)
注释作用注释就是程序员为读者作的说明,是提高程序可读性的一种手段也是调试代码时的一种手段,可以对某些不要执行的代码进行注释ps:注释只在java文件的源码中有,在class字节码中是没有的,所以注释写多了不影响运行性能类型分为单行注释(\\),多行注释(\* 内容 *\)和文档注释(\** 内容 *\)三种类型ps:文档注释若规范的写,可以方便的自动生成项目的API文档相关...原创 2019-08-20 09:59:13 · 153 阅读 · 0 评论 -
16.lambda表达式
介绍lambda表达式是一个可传递的代码块,可以在以后执行一次或多次为什么引入lambda表达式:原先在Java中传递一个代码段并不容易,不能直接传递代码段,Java是一种面向对象语言,所以必须构造一个对象,这个对象的类需要有个方法能包含所需的代码,这样十分的麻烦最好把lambda表达式看做一个函数,而不是一个对象lambda表达式的语法简单的lambda表达式(仅含一句):(一个代码...原创 2019-09-06 21:30:28 · 102 阅读 · 0 评论