![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搬运之前写的Java基础笔记
文章平均质量分 74
安娜和她的笔记本
攀一座山,追一个梦
展开
-
Java模块化
模块的基本使用:代码实现略…步骤创建模块(按照以前的讲解方式创建模块,创建包,创建类,定义方法)为了体现模块的使用,我们创建2个模块,一个是myOne,一个是myTwo在模块的src目录下新建一个名为module-info.java的描述性文件,该文件专门定义模块名,访问权限,模块依赖等信息描述性文件中使用模块导出和模块依赖来进行配置并使用模块中所有未导出的包都是模块私有的,他们不能在模块之外被访问在myOne这个模块下的描述性文件中配置模块导出模块导出格式:exports包名;一..原创 2022-03-19 20:32:19 · 525 阅读 · 0 评论 -
Java反射
类加载器反射类加载当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化来对类进行初始化。如果不出现意外,JVM会连续完成这三个步骤,所以有时也会把这三个步骤称为类加载或者类初始化类的加载就是指将class文件读入内存,并为之创建一个java.lang.Class对象任何类被使用时,系统都会为之建立一个java.lang.Class对象类的连接验证阶段:…准备阶段:…解析阶段:…类的初始化在该阶段,主要对类变量进行初始化类的初.原创 2022-03-19 20:29:59 · 249 阅读 · 0 评论 -
Stream流
Stream流的常见生成方式Stream流中间操作之filterStream流的常见中间操作方法Stream流终结操作之forEach&countStream流的收集操作Stream流的常见生成方式Stream流的使用生成流:通过数据源(集合,数组等)生成流list stream()中间操作:一个流后面可以跟随零个或多个中间操作,其目的主要是打开流。做出某种程度的数据过滤/映射,然后返回一个新的流,交给下一个操作使用filter()终结操作:一个流只能有一个终结操作.原创 2022-03-19 20:19:59 · 2344 阅读 · 0 评论 -
函数式接口
函数式接口:有且仅有一个抽象方法的接口Java中的函数式编程体现就是Lambda表达式,所以函数式接口就是可以适用于Lambda使用的接口,只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导eg:package itheima01;public interface MyInterface { void show();}package itheima01;/* 函数式接口,有且仅有一个抽象方法的接口*/public class MyInterfa原创 2022-03-17 16:20:10 · 143 阅读 · 0 评论 -
Java方法引用
体验方法引用:在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿参数做操作那么考虑一种情况:如果我们在Lambda所指的操作方案,已经有地方存在相同的方案,那是否还有必要再写重复逻辑呢?答案肯定是没有必要那我们如何使用已经存在的方案呢?这就是我们要讲解的方法引用,我们是通过方法引用来使用已经存在的方案package Java;/* 需求: 1.定义一个接口(Printable):里面定义一个抽象方法:void printString(String s);原创 2022-03-17 16:10:03 · 480 阅读 · 0 评论 -
Java接口组成更新
接口组成更新概述接口中默认方法接口中静态方法接口中私有方法接口组成更新概述接口的组成常量public static final抽象方法public abstract默认方法(Java8)静态方法(Java8)私有方法(Java9)接口中默认方法package Java;/*需求:1.定义一个接口MyInterface,里面有两个抽象方法: void show1(); void show2();2.定义接口的两个实现类: MyInterf.原创 2022-03-16 15:12:48 · 80 阅读 · 0 评论 -
Lambda表达式
体验Lambda表达式需求:启动一个线程,在控制台输出一句话:多线程程序启动了方式1:定义一个类MyRunnable实现Runnable接口,重写run()方法创建MyRunnable类的对象创建Thread类的对象,把MyRunnable的对象作为构造参数传递启动线程方式2:匿名内部类的方式改进方式3:Lambda表达式的方式改进Lambda表达式的标准格式匿名内部类中重写run()方法的代码分析方法形式参数为空,说明调用方法时不需要传递参数方法返回值类型为void,说明原创 2022-03-16 15:04:44 · 182 阅读 · 0 评论 -
网络编程[1]
网络编程入门UDP通信程序TCP通信程序网络编程入门网络编程在网络通信协议下,实现网络互联的不同计算机上运行的程序间可以进行数据交换网络编程三要素IP地址要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机,而IP地址就是这个标识号,也就是设备的标识端口网络的通信,本质是是两个应用程序的通信。每台计算机都有很多的应用程序,那么在网络通信时,如何区分这些应用程序呢?如果说IP地址可以唯一标识网络中的设备,那么端口号.原创 2022-03-16 14:57:57 · 296 阅读 · 0 评论 -
Java多线程
实现多线程线程同步生产者消费者实现多线程进程进程:是正在运行的程序是系统进行资源分配和调用的独立单位每一个进程都有它自己的内存空间和系统资源线程线程:是进程中的单个顺序控制流,是一条执行路径单线程:一个进程如果只有一条执行路径,则称为单线程程序多线程:一个进程如果有多条执行路径,则则称为多线程程序继承Thread类的方式实现多线程多线程的实现方式:方式1:继承Thread类定义一个类MyThread继承Thread类在MyThread类中重写run()方法创.原创 2022-03-16 14:48:38 · 318 阅读 · 0 评论 -
Java IO流
File字节流字符流特殊操作流FileFile类概述和构造方法File:它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的方法名说明File(String pathname)通过将给定的路径名字字符串转换为抽象路径名来创建新的File实例File(String parent.原创 2022-03-16 12:46:28 · 400 阅读 · 0 评论 -
Java集合进阶
CollectionListSet泛型MapCollections集合类体系结构Collection集合概述和使用Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现创建Collection集合的对象多态的方式具体的实现类ArrayListeg:package Java;import java.util.ArrayList;.原创 2022-03-15 10:11:08 · 127 阅读 · 0 评论 -
Java异常
异常概述异常:就是程序出现了不正常的情况异常体系:Error:严重问题,不需要处理Exception:称为异常类,它表示程序本身可以处理的问题RuntimeException:在编译期是不检查的,出现问题后,需要我们回来修改代码非RuntimeException:编译期就必须处理的,否则程序不能通过编译,就更不能正常运行了JVM的默认处理方案如果程序出现了问题,我们没有做任何处理,最终JVM会做默认的处理把异常的名称,异常原因及出现的位置等信息输出在了控制台程序停止执行异常处原创 2022-03-15 09:22:34 · 68 阅读 · 0 评论 -
Java常用API
MathSystemObjectArrays基本类型包装类日期类MathMath类概述:Math包含执行基本数字运算的方法没有构造方法,如何使用类中的成员呢?看类的成员是否都是静态,如果是,通过类名就可以直接调用Math类的常用方法方法名 说明public static int abs(int a) 返回参数的绝对值public static double ceil(double a) 返回大于或者等于参数的最小double值,等于一个整数public static do.原创 2022-03-13 12:29:21 · 334 阅读 · 0 评论 -
Java内部类
内部类概述成员内部类局部内部类匿名内部类匿名内部类在开发中的使用内部类概述内部类:就是一个类中定义一个类。举例:在一个类A的内部定义一个类B,类B就被称为内部类内部类的定义格式格式:public class 类名{ 修饰符 class 类名{ }}范例:public class Outer{ public class Inner{ }}内部类的访问特点内部类可以直接访问外部类的成员,包括私有外部类要访问内部类的成员,必须创建.原创 2022-03-13 12:04:25 · 46 阅读 · 0 评论 -
Java形参和返回值
类名作为形参和返回值方法的形参是类名,其实需要的是该类的对象方法的返回值是类名,其实返回的是该类的对象抽象类名作为形参和返回值方法的形参是抽象类名,其实需要的是该抽象类的子类对象方法的返回值是抽象类名,其实返回的是该抽象类的子类对象接口名作为形参返回值方法的形参是接口名,其实需要的是该接口的实现类对象方法的返回值是接口名,其实返回的是该接口的实现类对象eg:package Java;public interface Jumpping { void jump();}原创 2022-03-13 11:57:47 · 139 阅读 · 0 评论 -
Java接口
接口特点接口的成员类和接口的关系抽象类和接口的区别接口特点接口用关键字interface修饰public interface 接口名{}类实现接口用implements表示public class 类名 implements 接口名{}接口不能实例化接口如何实例化呢?参照多态的方式,通过实现类对象实例化,这叫接口多态。多态的形式:具体类多态、抽象类多态、接口多态多态的前提:有继承或者实现关系;有方法重写;有父(类/接口)引用指向(子/实现)类对象接口的实现类要么重写接口中.原创 2022-03-13 11:49:13 · 611 阅读 · 0 评论 -
Java抽象类
抽象类概述:在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类抽象类的特点抽象类和抽象方法必须使用abstract关键字修饰public abstract class 类名{}public abstract void eat();抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类抽象类不能实现化抽象类如何实现化呢?参照多态的方式,通过子类对象实例化,这叫抽象类多态抽象类子类要么重写抽象类中的所有抽象方法要么是抽象类eg:packa原创 2022-03-13 11:38:06 · 50 阅读 · 0 评论 -
Java多态
多态概述:同一个对象,在不同时刻表现出来的不同形态举例:猫我们可以说猫是猫:猫 cat=new 猫();我们也可以说猫是动物:动物 animal=new 猫();这里猫在不同的时刻表现出来了不同的形态,这就是多态多态的前提和体现有继承/实现关系有方法重写有父类引用指向子类对象多态中成员访问特点成员变量:编译看左边,执行看左边成员方法:编译看左边,执行看右边为什么成员变量和成员方法的访问不一样呢?因为成员方法有重写,而成员变量没有eg:package Java;原创 2022-03-13 11:15:28 · 76 阅读 · 0 评论 -
Java修饰符
包导包修饰符包包的概述和使用:其实就是文件夹作用:对类进行分类管理包的定义格式格式:package包名:(多级包用.分开)范例:package com.itheima;带包的Java类编译和执行手动建包:按照以前的格式编译Java文件 Javac HelloWorld.java手动创建包 在E盘建立文件夹com,然后在com下建立文件夹itheima把class文件放到包的最里面 把HelloWorld.class文件放到com下的itheima这个文件.原创 2022-03-13 11:04:25 · 60 阅读 · 0 评论 -
Java继承
继承是面向对象的三大特征之一。可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。继承的格式格式:public class 子类名 extends 父类名{ }范例:public class Zi extends Fu{ }Fu:是父类,也被称为基类、超类Zi:是子类,也被称为派生类继承中子类的特点:子类可以有父类的内容子类还可以有自己特有的内容eg:package Java;public class Fu { public void show(原创 2022-03-13 10:49:21 · 89 阅读 · 0 评论 -
Java集合基础
集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以改变ArrayList<E>可调整大小的数组实现<E>是一种特殊的数据类型,泛型怎么用呢?在出现E的地方我们使用引用数据类型替换即可。举例:ArrayList,ArrayListArrayList构造方法和添加方法方法名 说明public ArrayList() 创建一个空的集合对象public boolean add(E e) 将指定的元素追加到此集合的末尾public void add(in原创 2022-03-11 21:09:36 · 58 阅读 · 0 评论 -
学生管理系统
项目演示------欢迎来到学生管理系统------1.添加学生2.删除学生3.修改学生4.查看所有的学生5.退出请输入你的选择:package Java.item;public class Student { //学号 private String sid; //姓名 private String name; //年龄 private String age; //居住地 public String address;原创 2022-03-11 21:20:54 · 116 阅读 · 0 评论 -
Java字符串
APIStringStringBuilderAPIAPI(Application Programming Interface):应用程序编程接口Java API:指的就是JDK中提供的各种功能的Java类这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过文档来学习这些API如何使用如何使用帮助文档1.右键打开该文档2.找到索引选项卡中的输入框3.在输入框中输入Random4.看类在哪个包下5.看类的描述6.看构造方法7.原创 2022-03-11 05:35:44 · 283 阅读 · 0 评论 -
面向对象基础
类和对象对象内存图成员变量和局部变量封装构造方法类和对象对象–万物皆对象,客观存在的事物皆为对象类–类是对现实生活中一类具有共同属性和行为的事物的抽象类的特点:类是对象的数据类型类是具有相同属性和行为的一组对象的集合属性:对象具有的各种特征,每个对象的每个属性都拥有特定的值对象的行为:对象能执行的操作类的组成:属性和行为属性:在类中通过成员变量来体现(类中方法外的变量)行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)eg:pac.原创 2022-03-09 19:28:27 · 244 阅读 · 0 评论 -
Java的方法
方法概述方法的定义和调用带参数方法的定义和调用带返回值方法的定义和调用方法的注意事项方法重载方法的参数传递方法概述方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。注意:方法必须先创建才可以使用,该过程为方法定义。方法创建后并不是直接运行的,需要手动使用后才执行,该过程为方法调用。方法的定义和调用方法定义格式:public static void 方法名(){ // 方法体}范例:public static void.原创 2022-03-09 19:06:23 · 64 阅读 · 0 评论 -
Java之数组
● 数组定义格式● 数组初始化之动态初始化● 数组元素访问● 内存分配● 多个数组静态初始化● 数组常见问题数组定义格式int[ ] arr (推荐使用)定义了一个int类型的数组,数组名是arr。int arr[ ]定义了一个int类型的变量,变量名是arr数组。数组初始化之动态初始化Java中的数组必须先初始化,然后才能使用。● 动态初始化格式:数据类型[ ] 变量名=new 数据类型[数组长度];例子:int[ ] arr=new int[3];● 静态初始化数组元素原创 2022-03-09 18:13:22 · 146 阅读 · 0 评论 -
Java基础知识
● 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。● 类:类是一个模板,它描述一类对象的行为和状态。● 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。● 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。下面看一个简单的Java 程序:public class HelloWorld { /* 第一个Java程序 * 它将打印字符串 Hell原创 2022-03-09 18:07:41 · 68 阅读 · 0 评论