
Java基础
文章平均质量分 59
Java基础
ACerXiaoLuBan
这个作者很懒,什么都没留下…
展开
-
理解Java中的浅克隆和深克隆
深入理解Java中的浅克隆和深克隆的概念及如何实现深克隆转载 2021-06-11 16:23:55 · 170 阅读 · 1 评论 -
一文搞懂Java中的容器(Collection、List、Set、Map、HashSet、HashMap...)
1 容器1.1 容器简介开发和学习中需要时刻和数据打交道,如何组织这些数据是我们编程中重要的内容。我们一般通过“容器”来容纳和管理数据。事实上,我们前面所学的数组就是一种容器,可以在其中放置对象或基本类型数据。数组的优势:是一种简单的线性序列,可以快速地访问数组元素,效率高。如果从效率和类型检查的角度讲,数组是最好的。数组的劣势:不灵活。容量需要事先定义好,不能随着需求的变化而扩容。2 容器的结构2.1 结构图2.1.1 单例集合单例集合:将数据一个一个的进行存储。2.1.2 双例集合原创 2021-06-02 21:47:49 · 358 阅读 · 2 评论 -
Java中的泛型Generics
泛型原创 2021-06-01 15:50:21 · 264 阅读 · 1 评论 -
Java中基本数据类型的包装类
1 包装类我们前面学习的八种基本数据类型并不是对象,为了将基本类型数据和对象之间实现互相转化,JDK 为每一个基本数据类型提供了相应的包装类。1.1 包装类基本知识Java 是面向对象的语言,但并不是“纯面向对象”的,因为我们经常用到的基本数据类型就不是对象。但是我们在实际应用中经常需要将基本数据转化成对象,以便于操作。比如:将基本数据类型存储到 Object[ ]数组或集合中的操作等等。为了解决这个不足,Java 在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应原创 2021-05-27 20:33:02 · 856 阅读 · 0 评论 -
Java中的内部类
内部类是一类特殊的类,指的是定义在一个类的内部的类。实际开发中,为了方便的使用外部类的相关属性和方法,这时候我们通常会定义一个内部类。内部类可以使用 public、default、protected 、private 以及 static 修饰。而外部顶级类(我们以前接触的类)只能使用 public 和 default 修饰。注意内部类只是一个编译时概念,一旦我们编译成功,就会成为完全不同的两个类。对于一个名为 Outer 的外部类和其内部定义的名为 Inner 的内部类。编译完成后会出现 Outer转载 2021-05-27 13:44:48 · 87 阅读 · 0 评论 -
一文详解Java中的多态
1 多态和类型转换多态指的是同一个方法调用,由于对象不同可能会有不同的行为。现实生活中,同一个方法,具体实现会完全不同。 比如:同样是调用人的“休息”方法,张三是睡觉,李四是旅游,高淇老师是敲代码,数学教授是做数学题; 同样是调用人“吃饭”的方法,中国人用筷子吃饭,英国人用刀叉吃饭,印度人用手吃饭。多态的要点:多态是方法的多态,不是属性的多态(多态与属性无关)。多态的存在要有 3 个必要条件:继承,方法重写,父类引用指向子类对象。父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就原创 2021-05-27 09:14:06 · 207 阅读 · 0 评论 -
Java中的继承和组合详解
继承是面向对象编程的三大特征之一,它让我们更加容易实现对于已有类的扩展、更加容易实现对于现实世界的建模。继承有两个主要作用:代码复用,更加容易实现类的扩展方便建模public class Test{ public static void main(String[ ] args) { Student s = new Student("高淇",172,"Java"); s.rest(); s.study(); }}class Person { String name; in原创 2021-05-26 20:35:17 · 233 阅读 · 0 评论 -
Java构造方法详解
1 构造方法构造器也叫构造方法(constructor),用于对象的初始化。构造器是一个创建对象时被自动调用的特殊方法,目的是对象的初始化。构造器的名称应与类的名称一致。Java 通过new 关键字来调用构造器,从而返回该类的实例,是一种特殊的方法。构造器 4 个要点:构造器通过 new 关键字调用!!构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用 return 返回某个值。如果我们没有定义构造器,则编译器会自动定义一个无参的构造方法。如果已定义则编译器原创 2021-05-26 20:02:45 · 185 阅读 · 0 评论 -
Java中方法的重载Overload和重写Override
1 重载(Overload)方法的重载是指一个类中可以定义多个方法名相同,但参数不同的方法。调用时,会根据不同的参数自动匹配对应的方法。重载的方法,实际是完全不同的方法,只是名称相同而已!构成方法重载的条件:不同的含义:形参类型、形参个数、形参顺序不同只有返回值不同不构成方法的重载如:int a(String str){}与 void a(String str){}不构成方法重载只有形参的名称不同,不构成方法的重载如:int a(String str){}与 int a(String s)原创 2021-05-26 19:51:20 · 127 阅读 · 0 评论 -
Java中变量的分类及其作用域
从整体上可将变量划分为局部变量、成员变量(实例变量)和静态变量(类变量)。注:局部变量在使用前必须先声明、初始化(赋初值)再使用成员变量不自行初始化,会自动初始化为该类型的默认初始值静态变量不自行初始化,会自动初始化为该类型的默认初始值...原创 2021-05-26 17:12:30 · 856 阅读 · 0 评论 -
JVM与Java体系结构
1. Java生态圈Groovy、Scala、JRuby、Kotlin等都是Java平台的一部分第三方开源软件和框架Java拥有全世界最多的技术拥护者和开源社区的支持,从桌面应用软件、嵌入式开发到企业级应用、后台服务器、中间件等都可以看到Java的身影2. Java跨平台的语言3. JVM跨语言的平台4. 虚拟机所谓虚拟机(Virtual Machine),就是一台虚拟的计算机,它是一款软件,用来执行一系列虚拟计算机指令。可以分为系统虚拟机和程序虚拟机。Visual Box和VMw原创 2020-05-29 02:33:21 · 139 阅读 · 0 评论 -
详解Java中抽象类和接口
抽象类抽象方法:只有声明而没有具体的实现的方法。抽象类:如果一个类含有抽象方法,则这个类为抽象类。抽象类必须在类前用abstract修饰。抽象类不能实例化,不能使用new关键字来实例化对象。抽象类中可以包含抽象方法,也可以不包含抽象方法,抽象类中可以包含具体的方法。如果一个子类实现了父类(抽象类)的所有方法,那么该子类可以不必是抽象类,否则就是抽象类。抽象类默认的权限修饰符为pub...原创 2020-03-12 01:12:50 · 179 阅读 · 0 评论 -
Java中的equals()和==
关系操作符“==”关系操作符生成的是一个boolean类型的结果,他们计算的是操作数的“值”之间的关系。public class Main { public static void main(String[] args) { int m=5; int n=5; System.out.println(n==m); ...原创 2020-03-11 23:42:09 · 221 阅读 · 0 评论 -
Java实现字符串反转
方法一利用StringBuffer或StringBuilder的reverse成员方法。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while...原创 2020-02-24 21:16:38 · 118 阅读 · 0 评论 -
Java序列化和反序列化
1.序列化和反序列化概念序列化:把Java对象转换为字节序列的过程。反序列化:把字节序列恢复为Java对象的过程。原创 2020-02-18 11:34:30 · 94 阅读 · 0 评论 -
private、(缺省)、protected和public
java权限修饰符修饰符类内部同一个包子类任何地方privateYes(缺省)YesYesprotectedYesYesYespublicYesYesYesYes原创 2020-02-13 10:54:09 · 1233 阅读 · 0 评论 -
this、super、static和final关键字总结
this关键字调用本类中定义的成员变量,如果本类中没有,则继续从父类中查找。调用本类中定义的成员方法在本类的构造方法中调用本类其他构造方法,调用时要放在构造方法的首行public class Student { //定义一个类,类的名字为student。 public Student() { //定义一个方法,名字与类相同故为构造方法 this(“He...原创 2020-02-13 10:51:32 · 419 阅读 · 0 评论 -
详解Java中数据类型
数据类型的默认初始值八种基本数据类型byte:0short:0int:0long:0Lfloat:0.0fdouble:0.0dchar:空boolean:false三种引用数据类型array:nullclass:nullinterface:null任何引用类型的默认值都为null...原创 2020-02-13 10:55:33 · 380 阅读 · 0 评论 -
Java中String、StringBuffer和StringBuilder详解
String、StringBuffer和StringBuilder详解执行速度StringBuilder>StringBuffer>StringString最慢的原因:String为字符串常量,而StringBuffer和StringBuilder为字符串变量。String一旦创建之后,该对象时不可更改的,而StringBuffer和StringBuilder是可以更改的。...原创 2020-02-13 10:55:02 · 273 阅读 · 0 评论