![](https://img-blog.csdnimg.cn/20201208182145311.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 90
Java的学习笔记
尔玉先生
这个作者很懒,什么都没留下…
展开
-
Java:Java8新特性
1. Lambda表达式1.1 Lambda表达式的好处Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升Lambda表达式的本质是:作为函数式接口的实例1.2 Lambda表达式举例//导入的包有;import org.junit.Test;import java.util.Comparator;public class Lam.原创 2020-08-11 16:37:27 · 214 阅读 · 0 评论 -
Java:反射机制
1. Java反射机制概述1.1 动态语言与反射动态语言是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代码可以根据某些条件改变自身结构主要动态语言:Object-C、C#、JavaScript、PHP、Python、Erlang反射Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方.原创 2020-08-08 20:36:37 · 103 阅读 · 0 评论 -
Java:包装类
本篇文章解决问题1. 包装类的使用包装类的使用包装类的使用:Java提供了8种基本数据类型包装类的使用,使得基本数据类型的变量具有类的特征基本数据类型、包装类、String三者之间的相互转换// 基本数据类型转换为包装类// 调用包装类的构造器public class Test1 { public static void main(String[] args) { int num = 10; Integer in1 = new In.原创 2020-08-04 21:23:42 · 88 阅读 · 0 评论 -
Java:代表块和final关键字
本篇文章解决问题1. 代码块2. 属性赋值顺序3. final关键字1. 代码块1.1 代码块的作用用来初始化类、对象的信息。1.2 代码块的分类代码块要是使用修饰符,只能使用static,因此分为静态代码块和非静态代码块:静态代码快:内部可以输出语句随着类的加载而执行,而且只执行一次可以初始化类的信息如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行静态代码块的执行要优先于非静态代码块的执行静态代码块内部只能调用静态属性、方法,不能调用非静态结构非静态代.原创 2020-08-04 21:21:33 · 86 阅读 · 0 评论 -
Java:多态
本篇文章解决问题1. 多态性1. 多态性1.1 多态性的理解可以理解为一个事物的多种形态。1.2 何为多态性父类的引用指向子类的对象(或子类对象赋给父类的引用)。Person p = new Man()Object obj = new Data()1.3 多态性的使用有了对象的多态性后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。总之:编译看左边,运行看右边。1.4 多态性的使用前提类的继承方法的重写1.5 多态性的应用举例.原创 2020-08-03 20:54:58 · 86 阅读 · 0 评论 -
Java:封装性与构造器
本片文章解决问题1. 封装性2. 四种权限修饰符3. 构造器4. 属性赋值的先后顺序4. JavaBean的定义1.封装性1.1为什么要引入封装性在程序设计中我们通常追求“高内聚、低耦合”: 高内聚: 类的内部数据操作细节自己完成,不允许外部干涉。 低耦合: 仅对外暴露少量的方法用于使用。隐藏数据内部的复杂性,只对外公开简单的接口,便于外界调用,从而提高系统的可扩展性,可维护性。通俗来说,把该隐藏的隐藏起来,把该暴露的暴漏出来,这就是封装性的设计思想。1.2封装性思想的.原创 2020-08-03 20:53:13 · 175 阅读 · 0 评论 -
Java:继承性
本篇文章解决问题1. 继承性1. 继承性1.1 为什么要有继承性减少代码的冗余,提高代码的复用性便于功能的扩展为了多态性的使用,提供了前提1.2 继承性的格式class A extends B{}// A:子类、派生类、subclass// B: 父类、超类、基类、superclass1.3 子类继承父类后有哪些区别一旦子类继承父类后,子类A中就获取了父类B中声明的所有属性和方法。特别的,父类中声明为private的属性或方法,子类继承父类后,任然认为获取了父类中的私有结.原创 2020-08-03 20:50:41 · 96 阅读 · 0 评论 -
Java:接口
本篇文章解决问题1. 接口1. 接口说明接口使用interface来定义Java中,接口和类是并列的两个结构接口中的成员JDK7及以前: 只能定义全局常量和抽象方法全局常量: public static final 书写时可以省略抽象方法: public abstract 书写时可以省略JDK8: 除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法接口中不能定义构造器,这意味着接口不能实例化Java开发中,接口通过让类去实现(implemen.原创 2020-08-03 20:49:57 · 72 阅读 · 0 评论 -
Java:内部类
本篇文章解决问题1. 内部类1. 内部类1.1 定义Java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B称为外部类。1.2 内部类的分类成员内部类(静态、非静态)VS 局部内部类(方法内、代码块内、构造器内)。1.3 成员内部类的理解一方面,作为外部类的成员:调用外部类的结构可以被static修饰可以被四种不同的权限修饰另一方面,作为一个类:类可以定义属性、方法、构造器等可以被final修饰、表示此类不能被继承,也就是说,内部类不使用final就可以被继承.原创 2020-08-03 20:48:50 · 63 阅读 · 0 评论 -
Java:匿名对象与重载
本篇文章解决问题1. 匿名对象2. 方法的重载1. 匿名对象1.1定义我们创建的对象,没有显示的赋给一个变量名,即为匿名对象。1.2特点匿名对象只能调用一次。1.3举例// 调用方法new phone().sendEmail();new phone().playGame(); // 调用属性new phone().price = 1999;1.4应用场景PhoneMall mall = new PhoneMall();mall.show(new Phone()).原创 2020-08-03 20:48:10 · 125 阅读 · 0 评论 -
Java:属性与局部变量
本片文章解决问题:1. 属性与局部变量相同点2. 属性与局部变量不同点3. 变量的分类1.属性与局部变量相同点定义变量的格式相同:数据类型 变量名 = 变量值都是先声明,后使用变量都有其对应的作用域2.属性与局部变量不同点在类中声明的位置不同属性:直接定义在类的一对{}中局部变量:声明在方法内、方法形参、代码块、构造器形参、构造器内部的变量中权限修饰符的不同属性:可以在声明属性时,指明其权限,使用权限修饰符。常用的权限修饰符:private、public、缺省、p.原创 2020-08-03 20:46:32 · 448 阅读 · 0 评论 -
Java:重写与super关键字
本篇文章解决问题1. 重写2. super关键字1. 重写1.1 什么是重写子类继承父类后,可以对父类中同名同参数的方法,进行覆盖操作。1.2 重写的应用重写以后,当创建子类对象后,通过子类对象调用子父类中的同名同参数的方法时,实际执行的是子类重写父类的方法。1.3 重写的举例class Circle{ public double findArea(){}// 求面积}class Cylinder extends Circle{ public double fin.原创 2020-08-03 20:44:48 · 606 阅读 · 0 评论 -
Java:Object类
本篇文章解决问题1. Object类的说明1. Object的说明1.1 java.lang.Object类的说明Object类的特点是什么:Object类是所有Java类的根父类。如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类。Object类中的功能(属性、方法)具有通用性。属性:无方法:equal() / toString() / getCalss() / hashCode() / clone() / finaliz.原创 2020-08-03 20:43:41 · 123 阅读 · 0 评论 -
Java:static关键字
本片文章解决问题1. static关键字1. 可以用来修饰的结构static主要用来修饰类的内部结构:方法、属性、代码块、内部类。2. static修饰属性是否使用static修饰,又分为:静态属性和非静态属性(实例变量)。实例变量: 我们创建了类的多个对象,对每个对象都独立拥有一套类中的非静态属性,当修改一个对象中的非静态属性时,不会导致其他对象中同样属性值的修改。静态变量: 我们创建了类的多个对象,多个对象共享同一个静态变量,当通过某一个对象修改静态变量时会导致其他对象调用此静态变量时.原创 2020-08-03 20:42:29 · 85 阅读 · 0 评论 -
Java:网络编程
1. 网络编程概述Java是Internet上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里,由JVM进行控制并且Java实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境网络编程的目的在于:直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯网络编程中的两个主要问题:如何准确地定位网络上一台或多台主机;定位主机上的特定的应用找到主机后.原创 2020-08-01 19:46:34 · 143 阅读 · 0 评论 -
Java:IO流
1. File类的使用1.1 File类的简介java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关。File类中涉及到关于文件或文件夹的新建、删除、重命名、修改时间、文件大小,但并未涉及到写入或读取文件内容的操作。如果需要访问文件内容本身,则需要使用输入/输出流。想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。后续File对象常常作为参数传递给流的构造器指明读取或写入的“终.原创 2020-07-28 11:11:45 · 133 阅读 · 0 评论 -
Java:值传递机制
本片文章解决问题1. 值传递机制1.值传递机制值传递的规则为:如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值。如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值。下面看一个值传递的例子:public class Test{ public static void main(String[] args){ int i = 1; String str = "hello"; Integer num = 20.原创 2020-07-26 10:34:14 · 74 阅读 · 0 评论 -
Java:三种内存解析
本片文章解决问题:1. 内存结构简单说明2. 一维数组内存解析3. 二维数组内存解析4. 对象的内存解析1.内存结构简单说明我们常用的内存结构有三种:堆(Heap)。 此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。这一点在Java虚拟机规范中的描述是:所有的对象实例以及数组都要在堆上分配。通常所说的栈(Stack)。 是指虚拟机栈。虚拟机栈用于存储局部变量等。局部变量表存放了编译期可知长度的各种基本数据类型(boolean、byte、char 、 .原创 2020-07-26 10:32:57 · 185 阅读 · 0 评论 -
Java:常用类
1. 字符串相关的类1.1 String的使用String的使用String声明为final的,是不可被继承。String实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小。String内部定义了final char[ ] value,用于存储字符数据。String:代表不可变的字符序列。简称:不可变性。通过字面量的方式(区别于new)给一个字符串赋值,此时的字符串值声明在字符常量池中。字符常量池中是不会存储相同.原创 2020-07-26 10:29:17 · 114 阅读 · 0 评论 -
Java:泛型
1. 泛型的概念1.1 什么是泛型泛型类似标签,出现原因是因为:集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象因此此时把元素的类型设计成一个参数,这个类型参数叫做泛型泛型,允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型Collection,List,ArrayList 这个就是类型参数,即泛型1.2 泛型的好处解决元素存储的安全性问题,好比商品、药品标签,不会弄错。解决获取数据元素时,需要类型强制转换的问题,好比不用每回.原创 2020-07-26 10:24:34 · 166 阅读 · 0 评论 -
Java:枚举类和注解
1. 枚举类的使用1.1 自定义枚举类枚举类的概念与背景当类的对象只有有限个,确定个时,此类称为枚举类。当需要定义一组常量时,强烈建议使用枚举类星期:Monday(星期一)、…、Sunday(星期天)性别:Man(男)、Woman(女)季节:Spring(春节)…Winter(冬天)JDK1.5之前需要自定义枚举类,JDK1.5新增的enum关键字用于定义枚举类。若枚举只有一个对象, 则可以作为一种单例模式的实现方式。自定义创建一个枚举类public class Seas.原创 2020-07-26 10:22:00 · 334 阅读 · 0 评论 -
Java:异常处理机制
1. 异常概述与异常体系结构1.1 异常的概念及其分类什么是异常在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的。比如:客户输入数据的格式,读取文件是否存在,网络是否始终保持通畅等等。异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”。 (开发过程中的语法错误和逻辑错误不是异常)异常的分类异常事件可分为两类:Error:Java虚拟机无法解决的严重问题。 如:JVM系统内部错误、.原创 2020-07-26 10:19:41 · 208 阅读 · 0 评论 -
Java:集合
1. Java集合框架概述1.1 集合定义集合、数组都是对多个数据进行存储操作的结构,简称Java容器。面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。而使用Array存储对象方面具有一些弊端。数组的弊端:数组初始化以后,长度就不可变了,不便于扩展数组中提供的属性和方法少,不便于进行添加、删除、插入等操作,且效率不高。存储数据的特点单一,存储的数据是有序的、可以重复的。Java 集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关.原创 2020-07-26 10:15:44 · 168 阅读 · 0 评论 -
Java:多线程
1. 创建多线程的方式一:继承Thread类1.1 Thread创建多线程Thread创建多线程步骤创建一个继承Thread类的子类重写Thread类的run( )方法 ------>将此线程执行的操作声明在run( )方法中创建Thread类的子类的对象通过此对象调用start( )方法举例:说明创建多线程过程题目:在线程1内输出0-100间的奇数,在线程2内输出0-100间的偶数。// 1.创建一个继承Thread类的子类class MyThread exte.原创 2020-07-26 10:06:02 · 135 阅读 · 0 评论 -
Java:this、package、import关键字
本篇文章解决问题1. this关键字2. package关键字3. import关键字1.this关键字1.1可调用结构this关键字可调用属性、方法、构造器。1.2this调用属性、方法当this调用属性方法时,可将this作为当前对象。有以下两种情况:在类的方法中,我们可以使用“this.属性”或“this.方法”,调用当前对象的属性或方法。 通常情况下,我们都选择省略“this”,特殊情况下,如果方法的形参和类的属性同名时,我们必须显式的使用“this.变量”的方式表明此变量.原创 2020-07-26 09:59:58 · 165 阅读 · 0 评论 -
Java:类与对象
本篇文章解决问题:1. 面向对象学习的三条主线2. 面向对象与面向过程的区别3. 面向对象中的两个重要概念4. 面向对象思路实现的规划5. 补充:几个概念的使用1.面向对象学习的三条主线Java类及类的成员:属性、方法、构造器、代码块、内部类面向对象三大特征:封装性、继承性、多态性、(抽象性)其他关键字:this、super、static、final、abstract、interface、packet、import等2.面向对象与面向过程的区别面向过程:强调的是功能行为,以.原创 2020-07-26 09:52:59 · 223 阅读 · 0 评论