Java object oriented sum up
文章平均质量分 93
组织简短的语言,总结难懂的知识点。
Jonny Z
抱紧大佬大腿
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
手写 System.arraycopy API 的 数组扩容、数组拷贝 的功能。
System.arraycopy是 ArrayList、StringBuilder、StringBuffer、Vector 底层实现 数组扩容的 最最最 重要的 调用的 API,它们的 数组扩容以及数组拷贝 完全依赖 于 System.arraycopy 这个API!。Java提供的 System.arraycopy 这个API 在Java底层是看不到源码的,因为它是一个本地方法。故 不是用Java语言写的。用 C 或者 是 C++ 写的,至于Java官方提供的 System.arraycopy 到底是原创 2021-06-21 02:38:27 · 315 阅读 · 0 评论 -
20:Iterator、iterator、Iterable、ListIterator、listIterator的使用及区别及源码中它们的具体实现:
Iterable 是ArrayList和LinkedList的共同父接口。而 iterator 是Iterable 接口中的 一个抽象方法:Iterator 是 Iterable 接口的 iterator 抽象方法的返回值。 由 AbstractList抽象父类进行了实现了 iterator方法,AbstractList的 Itr 内部类实现了 Iterator接口。只有ArrayList进行了重写,ArrayList中 Itr 内部类重写实现了 Iterator接口。ListIterator 是 It原创 2021-06-19 13:18:29 · 495 阅读 · 0 评论 -
19:Collection集合接口:List 集合子接口下的LinkedList的基本使用、模拟双向链表存储元素、LinkedList 源码阅读理解总结:
目录链表相关概念:LinkedList的常用API的基本使用:LinkedList 的遍历方式:模拟双向链表存储元素:LinkendList 集合 部分源码解读:boolean add(E e)方法:void add(int index, E element)方法:E get(int index) 方法:E set(int index, E element) 方法:E pollFirst() 方法:E pollLast() 方法:E remove(int in原创 2021-06-18 19:30:13 · 546 阅读 · 0 评论 -
18:ArrayList 集合 JDK1.7 及 JDK1.8 版本的 扩容机制 、Vector 扩容机制 解读 及它们之间的区别总结:
JDK1.7 、JDK1.8 的ArrayList 和 Vector 区别总结: JDK1.7的ArrayList的 扩容机制源码。JDK1.7的源码是 ,在实例化这个 ArrayList 集合对象的时候。不管 调用者初始化完ArrayList对象后 继不继续 使不使用,在初始化对象的时候,都会创建一个长度为 10 的 Object 的数组(elementData),当调用者继续使用时 添加元素 到集合中的容量 达到 elementData的当前最大容量时。 就会进行 对 elementData原创 2021-06-17 13:48:40 · 1567 阅读 · 1 评论 -
17 :Collection集合接口:List 集合子接口下的 ArrayList 实现类集合的基本使用
集合的概念:集合(gather): 多个数据的聚集即可以称之为集合 。集合 都是对多个数据进行存储操作 的。也可以称 集合 为 容器。叫法不一而已。 集合 :就是 数据结构 、算法 的 巧妙结合 的 成品。集合的存储 只是 指的 以内存为 基石的 存储。并不是持久化存储。 集合比数组更灵活,更方便。且集合的长度是可变的,可对集合中的元素进行 的 比数组更方便的操作。 Java中存储 数据的容器之一:数组(ArrayList的底层就是 数组) 数组的优点: 相对于变量...原创 2021-06-16 22:37:27 · 250 阅读 · 0 评论 -
面向对象之16:一文 彻底搞懂Java中的泛型、泛型的 使用细节 及 注意事项:
what's Generic?泛型(广泛的类型): 泛型就相当于是一个标签。形象一些就是:在生活中随处可见的类似于泛型的参考。比如:男卫生间门上贴的标签 --》 男 or boy ,女卫生间门上的标签 --》 女 or girl,能表示性别的标签 理解在Java中就叫做泛型。再 比如:垃圾分类的垃圾桶上面贴的标签,比如:厨余辣鸡、有害辣鸡、可回收辣鸡、其他辣鸡,……等等。泛型的声明格式:<泛型标识符[,泛型标识符2,……]> 这个<>有的 因为像,也叫做钻石运算符。Java中 泛型的原创 2021-06-15 19:33:19 · 1404 阅读 · 1 评论 -
面向对象之15:开发中的常用类之二:Date、Time、Timestamp、Calendar、LocalDate、LocalTime、LocalDateTime、……的使用总结:
第一代日期相关的类 java.util.Date:常用的Date类:java.util.Date。(JDK1.0就已经有了) 三个关于数据库的操作的日期相关的类:java.sql.Date、 java.sql.Time、 java.sql.Timestamp java.sql.Date、 java.sql.Time、 java.sql.Timestamp 和 java.util.Date 的联系:,由此类图可见,java.sql.Date 、java.sql.Time 、java.sql.Ti...原创 2021-06-12 22:39:17 · 1033 阅读 · 0 评论 -
面向对象之14:开发中的常用类之一: Math、Random、System、Arrays、BigInteger、BigDecimal、Scanner 的使用总结:
数学相关的类:Math,Math在 java.lang包下,直接使用,无需导包。 Math 的 UML类图: ,Math被final所修饰,不可被继承。 ,构造器私有化,不能创建Math的对象。(只能是 Math 类 自己在自己的类中使用自己的对象。) Math类内部所有的 属性、方法都是 静态的,被static 修饰,直接用类名.静态成员 访问即可。 ,如果本类中的静态成员有和静态导入的类的静态成员重名时,在运行程序调用静态成员的时候,优先调用的是本类中的静态成员!没有,则是使用静态导...原创 2021-06-11 20:29:38 · 1522 阅读 · 0 评论 -
面向对象之13:String类、StringBuilder类、StringBuffer类的 使用及区别、链式调用(链式编程)、的总结:
String类:String 对象用于保存字符串,也就一组字符序列。字符串常量对象使用双引号 括起 的字符序列。称之为字符串。字符串的本质就是一个 字符数组。 字符串的 字符 (内码) 使用Unicode编码方案的 UTF-16 编码,(开发人员 使用的是UTF-8,所以当内码转成外码的时候默认会以 UTF-8 的存储格式来转换(如有疑问,具体文章可参考我的另外一篇博文。Java 入门之6:Java中的char类型是怎么存储的以及常见的编码字符集 )),一个字符(不管是字母还是汉字和其他文字)都是占用原创 2021-06-07 11:31:30 · 589 阅读 · 0 评论 -
面向对象之12:Exception类、RuntimeException类(异常机制)、包装类 的使用细节、类与类之间的关系 总结:
在Java语言中,将程序执行中发生不正常的情况称之为“异常”,(开发过程中的语法错误与逻辑错误与异常无关)。Java中 执行过程中可能发生的异常错误 分为两大类: Error(错误):JVM 无法解决的严重问题,比如:JVM 内部错误,资源耗尽等严重情况,Error 是严重错误,程序会立即崩溃。比如:OutOfMemoryError,…… Exception(异常):其他以编程错误或偶然的外在因素 导致的 一般性问题,这种问题可以使用针对性的代码进行解决。异常分为两大类:原创 2021-05-28 09:48:50 · 1310 阅读 · 0 评论 -
面向对象之11:枚举类 及 使用细节 总结:
从反编译的文件中不难看出,枚举类的本质上也是一个类,只是在声明的方式上 将 class 换成了 enum 。枚举类不可以被其他类or枚举类继承,从反编译的文件中可以看出它在编译时是 final 修饰的,而fianl所修饰的类,不能被继承!枚举类不能继承其他类(因为声明的关键字不是 class)(还有个原因就是枚举类是一种比较特殊的类,它只能有一个隐式直接父类。不能手动or显示的继承其他类。包括它的隐式直接父类也不能显式的继承出来,语句不允许!。)。也不能继承其他 枚举类,因为每个枚举类编译后都是 fi原创 2021-05-26 00:22:03 · 531 阅读 · 0 评论 -
面向对象之10: 静态内部类、实例内部类、局部内部类 、匿名内部类 的总结
目录静态内部类的特点 (重点! 使用较多!):静态内部类中可以有的成分及访问外部类的格式:实例内部类的特点 (重点,使用较多):实例内部类可以有的成分 及 访问外部类的格式:局部内部类的特点 ( 重点,使用较少。 ):局部内部类可以有的成分 及 访问外部类的格式 及 局部内部类在类中可以出现的位置:匿名内部类的特点总结(重点 !使用最多!):接口的匿名内部类 及 访问父接口、外部类的格式(重点,使用最多!)。接口的匿名内部类 编译器编译机制 解读理解:Outer.原创 2021-05-25 06:58:33 · 742 阅读 · 0 评论 -
面向对象之9:抽象类、final关键字、(JDK1.8之后) 接口 的总结:
抽象方法不能使用 private 、final、static 来修饰,因为这些关键字都是和 方法重写相违背的!抽象方法因为没有方法体也不能使用 synchronized、strictfp 关键字。子类实现抽象父类的抽象方法后,如果有必要的情况下,子类可以选择性加上 synchronized、strictfp、final、private关键字。如果有必要的情况下,抽象父类声明抛出的异常 ,子类可以选择不抛。(但是如果子类重写后的方法或者重写后的抽象方法抛出了异常,但父类or接口没有抛出异常,那么父类or接口就原创 2021-05-24 06:33:58 · 426 阅读 · 0 评论 -
面向对象之8:Object类 、 Objects 类、== 和equals()方法 的总结:
Object:所有的类都 直接 或者 间接 的 继承自Object类,换言之,Object类是所有Java类的根基父类(包括 数组 和 接口的 实现类 和 抽象类)。 也就说明每个Java类 都拥有 Object的所有 可访问的 属性和方法。 如果在 类的声明中 未使用 extends 关键字指明其父类,那么 会 默认隐式的 继承自Object 类。相当于 javac.exe 编译器 在编译的时候 会默认在 类的声明后面 加上 extends Object。Object中子类经常重写的几个方...原创 2021-05-23 21:16:49 · 423 阅读 · 0 评论 -
面向对象之7:面向对象三大特性之 多态、instanceof关键字(运算符)的总结:
多态 :多态:顾名思义: 多(多种)态(状态):同一种行为,不同的子类表现出来不同的形态,多态指的就是同一个方法调用,由于对象的不同而产生不同的行为。 多态跟属性无关,方法的多态指定是方法的多态,而不是属性的多态。 多态 必须要 有类与类之间有 继承关系 或者 接口与类之间的 实现关系。 多态具有方法重写的特性:子类对父类的方法重写。多态之方法的多态特点:方法的重写和方法重载就属于多态的一部分内容。不同的子类调用自己重写后的方法会有不同的效果,!调用不同重载后的方法会有不同的效...原创 2021-05-23 15:58:11 · 243 阅读 · 0 评论 -
面向对象之6:继承后方法重写、权限修饰符(public、protected、缺省、private) 的总结:
目录权限修饰符:权限修饰符总结:继承后的方法重写:方法重写(也叫方法覆盖)的注意事项:父类不能被子类重写的方法:方法重写和方法重载的区别:权限修饰符:如图所示:权限修饰符总结:public 关键字: 修饰( 类、成员方法、成员变量、常量、内部类、构造器。) 访问权限最大,在整个项目中都可以访问public修饰的内容。不同项目中访问只需要导包即可。 protected 关键字:修饰 (成员方法、成员变量、常量、内部类、构造器。)访问权限第二,在整个项目中都可以.原创 2021-05-22 21:49:32 · 2156 阅读 · 0 评论 -
面向对象之5:面向对象三大特性之 继承 、super关键字 的总结:
如果子类希望去调用父类的某个构造器,则需要显示的调用一下即可: super(形参列表);super在使用的时候,必须放在构造器的第一行,(super(形参列表); 调用父类构造器的语句只能在子类构造器中使用)。super(形参列表) 和 this(形参列表) 都只能放在构造器中的第一行,所以不能同时调用父类的构造器和子类的构造器。二选一!Java中所有的类都是Object类的子类,Object类是所有类的根基父类!所有的类都直接或者间接的继承自Object类!父类构造器的调用不限于直接父类,它会一直原创 2021-05-22 19:25:36 · 225 阅读 · 0 评论 -
面向对象之4:(package关键字)包,(import关键字)导入,的总结:
包 及 包的作用?什么是包?:比如身份证上面的详细地址,快递的 收货地址。等,这些地址对应Java 都可以称之为包。历史比如:吾乃常山赵子龙 ,吾乃燕人张翼德 包的作用:为了解决类的重名问题,即不同的包中的类的名字可以相同。解决权限问题。(实际包 对应的就是 电脑上面的盘符的 目录!)。当类很多的时候,可以很方便的分门别类的管理类。 上线后的代码的打包操作就是根据package关键字来进行打包的。包的定义:Java中通过 package 关键字定义一个包的名字,一般用IDE ,IDE 都...原创 2021-05-22 12:22:20 · 1255 阅读 · 0 评论 -
面向对象之3:面向对象三大特性之 封装 的总结:
目录什么是封装?:Java中怎么实现封装?封装的好处:什么是封装?:生活中比如 ATM机,笔记本电脑,手机,小轿车等。封装就是将过程和数据用一个外壳隐藏起来。对数据的的访问只能通过封装者提供的接口进行访问。 封装就是把对象所有的属性组成部分都组合在一起,封装实际上就是使用方法,和权限修饰符,将类的中的某些组成部分隐藏起来。控制 调用者对类中的数据的修改和访问数据的权限程度。 适当的封装可以让程序更容易理解与维护,也让程序的安全性得到了加强 在你所达的权限范围之内 不能访问的 都叫做原创 2021-05-21 20:10:10 · 234 阅读 · 0 评论 -
面向对象之2:代码块 的总结:
代码块是什么?代码块是类的5大组成部分之一。 代码块的分类: 普通代码块:即方法中的代码块,定义格式: {代码体;} ,属于方法本身。像平常用的 for、while、do-while循环,if、else 等语法语句 都属于普通代码块的一种。 构造代码块(实例代码块):即类中方法外没有使用static修饰的代码块,定义格式:{代码体;},属于类的对象本身。 实例代码块的原理:实例代码块的代码其实就是会隐式的提取到初始化当前这个对象的构造器的第二个语句下面去执行,第一个语句是调用父类构造器:su原创 2021-05-21 19:23:48 · 265 阅读 · 0 评论 -
面向对象之1:类和对象的关系、构造器、创建对象、this关键字、static关键字 的 总结:
成员变量:成员变量用于定义该类或者该类对象包含的数据或者静态特征,属性作用范围属于整个类体。成员方法:方法用于定义该类或该类实例的行为特征和功能实现,方法是类和对象行为特征的抽象。方法类似于面向过程中的函数,面向过程,函数为最基本的单位,整个程序有一个个函数调用组成。面向对象中,整个程序的基本单位是类,方法是属于类和对象的。代码块:即该代码块的代码在什么范围内才有效。内部类:即该类只属于类或者对象的类。构造器:用于初始化成员变量的数据的构造器(特殊的一种方法)。(静态常量):即用static fi原创 2021-05-21 17:55:17 · 441 阅读 · 0 评论 -
Java 入门之10:Java的 数组(一维数组)、二维数组的总结:
数组的说明:数组是相同类型的数据的集合存储形式,数组存储形式是相同类型的若干个数据,按照添加元素的顺序有一定的先后次序,在数组中,数组中的每一个数据称之为一个元素,每个元素都有一个对应的索引(下标)来访问它们。数组的特点:数组一旦被创建,它的大小就是不可以改变的,即数组的长度是确定的。 数组中的元素的类型必须是相同类型,不允许出现混合类型。(除了 Object[] 数组) 数组类型可以是任何数据类型,包括基本类型和引用类型(不包括注解这个引用类型) 数组的索引从 0 开始,到数组的长度(数原创 2021-05-18 12:36:33 · 779 阅读 · 0 评论
分享