一起学Java
文章平均质量分 54
今天Java学会了嘛
这个作者很懒,什么都没留下…
展开
-
Redis的基本操作命令及其各数据结构命令集合
Redis的基本操作命令及其各数据结构命令集合原创 2022-07-15 15:41:43 · 142 阅读 · 0 评论 -
Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method ‘GET‘ not s
在使用SpringBoot时遇到页面报405错误 如下查看控制台,发现了给出了以下WARN发现注释原先使用的是@PostMapping,换成@RequestMapping以后bug解决原创 2022-07-09 19:57:14 · 15224 阅读 · 6 评论 -
Java——多线程
多线程的创建,方式一:继承于Thread类1.创建一个继承于Thread类的子类2.重写Thread类的run(),此线程执行的操作声明在run()中3.创建Thread类的子类的对象4.通过此对象调用start():①启动当前线程②调用当前线程的run()问题一:我们不能通过直接调用run()的方式启动线程例子:遍历100以内的所有数的偶数...原创 2021-11-14 17:44:36 · 77 阅读 · 0 评论 -
Java——异常处理
异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常)Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如:StackOverflowError和OOM。一般不编写针对性的代码进行处理。Exception:其他原因其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。例如:空指针访问试图读取不存在的文件网络连接中断...原创 2021-10-26 22:12:44 · 83 阅读 · 0 评论 -
Java——面向对象(二十五)——内部类
1、Java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B就是外部类2、内部类的分类:成员内部类(静态、非静态) vs 局部内部类(方法内、代码块内、构造器内)3、成员内部类:一方面,作为外部类的成员:调用外部类的结构可以被static修饰可以被四种不同的权限修饰另一方面,作为一个类:类内可以定义属性、...原创 2021-10-25 13:06:00 · 87 阅读 · 0 评论 -
Java——面向对象(二十四)——接口
interface原创 2021-10-23 16:27:51 · 94 阅读 · 0 评论 -
Java——面向对象(二十三)——抽象类
abstract关键字的使用1、abstract:抽象的2、abstract可以用来修饰的结构:类、方法3、abstract修饰类:抽象类此类不能实例化抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程)开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作4、abstract修饰方法:抽象方法抽象方法只有方法的声明,没有方法体。包含抽象方法的类一定是抽象类。反之,抽象类可以没有抽象方法若子类重写了父类中的所有抽象方法后,此子类方原创 2021-10-13 22:07:13 · 64 阅读 · 0 评论 -
Java——面向对象(二十二)——final
final:最终的1、final可以用来修饰的结构:类、方法、变量2、final用来修饰一个类:此类不能被其他类所继承 比如:String类、System类、StringBuffer类3、final来修饰方法:表明此方法不可以被重写 比如:Object类中getClass()4、final用来修饰变量:此时的“变量”就称为是一个常量final常量没有默认值,定义时必须手动赋初值4.1、fina...原创 2021-10-05 22:00:34 · 84 阅读 · 0 评论 -
Java——面向对象(二十一)——代码块(初始化块)
main函数1、main()方法作为程序的入口2、main()方法也是一个普通的静态方法3、main()方法可以作为我们与控制台交互的方式。(之前:使用Scanner)代码块1、代码块的作用:用来舒初始化类或者对象2、代码块如果有修饰的话,只能使用static3、分类:静态代码块 vs 非静态代码块4、静态代码块内部可以有输出语句随着类的加载而执行,且只执行一次作用:初始化类的信息 ...原创 2021-10-05 16:40:25 · 97 阅读 · 0 评论 -
Java——面向对象(二十)——单例设计模式
1、单例设计模式:所谓单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象的实例。2、如何实现?饿汉式 vs 懒汉式饿汉式:public class SingletonTest1 { public static void main(String[] args) { Bank bank1 = Bank.getInstance(); Bank bank2 = Bank.getInstance(); System.out.println.原创 2021-10-05 11:27:40 · 92 阅读 · 0 评论 -
Java——面向对象(十九)——static
1、static:静态的2、static:可以用来修饰:属性、方法、代码块、内部类3、使用static来修饰属性:静态变量3.1、属性,按是否使用static修饰,又分为:静态属性vs非静态属性(实例变量)实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一个对象的非静态属性时,不会导致其他对象中同样的属性值的修改。静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静态变量...原创 2021-10-04 16:25:46 · 75 阅读 · 0 评论 -
Java——面向对象(十八)——包装类
包装类的使用:1、Java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征2、掌握的:基本数据类型、包装类、String三者之间的互相转换各类型之间的转换基本数据类型--->包装类:调用包装类的构造器 public void test1() { int num1 = 10; Integer in1 = new Integer(num1); System.out.println(in1.toString()); .原创 2021-09-28 15:43:42 · 143 阅读 · 0 评论 -
Java——面向对象(十七)——JUint单元测试
步骤:1.选中当前工程-右键选择:buildpath-addlibraries-JUnit4-下一步2.创建Java类,进行单元测试。此时的Java类要求:①此类是public的②此类提供公共的无参的构造器3.此类中声明单元测试方法。此时的单元测试方法:方法的权限是public,没有返回值,没有形参4.此单元测试方法上需要声明注解:@Test,并在单元测试类中导入:importorg.junit.Test;5.声明好单元测试方法以后,就可以在方法体内测...原创 2021-09-28 10:50:06 · 135 阅读 · 0 评论 -
Java——面向对象(十七)——==与equals
一、==的使用:==:运算符1.可以使用在基本数据类型变量和引用数据类型变量中2.如果比较的是基本数据类型变量:比较两个变量保存的数据是否相等。(不一定类型要相同) 如果比较的是引用数据类型变量:比较两个对象的地址值是否相同.即两个引用是否指向同一个对象实体补充: == 符号使用时,必须保证符号左右两边的变量类型一致二、equals()方法的使用:1、是一个方法,而非运算符2、只能适用于引用数据类型3、Object类中equals()的定义:publicboole...原创 2021-09-26 21:40:54 · 73 阅读 · 0 评论 -
Java——面向对象(十六)——Object类
java.lang.Object类1、Object类是所有Java类的根父类2、如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类3、Object类中的功能(属性,方法)就具有通用性4、Object类只声明了一个空参构造器...原创 2021-09-26 19:47:37 · 76 阅读 · 0 评论 -
Java——面向对象(十五)——多态性
1、多态性:可以理解为一个事物的多种形态,是运行时行为!2、何为多态性:对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用)//person为父类,man和woman为子类Person p2 = new Man():Person p3 = new Woman():3、 多态的使用:虚拟方法调用虚拟方法调用:当调用子父类同名同参数的方法时,实际执行的是子类重写父类的方法有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是原创 2021-09-23 16:58:20 · 145 阅读 · 0 评论 -
Java——面向对象(十四)——super关键字
1、super的解释super可理解为:父类的2、super可以用来调用:属性、方法、构造器3、super的使用3.1、我们可以在子类的方法或构造器中。通过使用“super.属性”或“super.方法”的方式显式的调用父类中声明的属性或方法。但是,通常情况下,我们习惯省略“super.”3.2、特殊情况:当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须显式的使用“super.属性”的方式,表明调用的是父类中声明的属性。3.3、特殊情况:当子类重写了父类.原创 2021-09-22 21:57:52 · 82 阅读 · 0 评论 -
Java——面向对象(十三)——方法重写(Override)——附重写与重载的区别
目录1、定义2、应用3、重写的规定1、定义子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作2、应用重写以后,当创建子类对象以后,通过子类对象调用父类中同名同参数的方法时,实际执行的是子类重写父类的方法。3、重写的规定方法的声明:权限修饰符返回值举型方法名(形参列表) throws 异常的类型{方法体 }约定俗称:子类中的叫重写的...原创 2021-09-22 16:55:03 · 114 阅读 · 0 评论 -
Java——面向对象(十二)——继承性
面向对象的特征之二:继承性一、继承性的好处:①减少了代码的冗余,提高了代码的复用性②便于功能的扩展③为之后的多态性的使用,提供了前提二、继承性的格式:class A extends B{}A:子类派生类、subclassB:父类、超类、基类、superclass2.1体现:一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有的属性和方法特别的:父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类中私有的结构,只有因为封装性的影响,使原创 2021-09-20 14:55:13 · 121 阅读 · 0 评论 -
Java——面向对象(十一)——项目:客户信息管理系统
import关键字的使用import:导入1、在源文件中显式的使用import结构导入指定包下的类、接口2、声明在包的声明和类的声明之间3、如果需要导入多个结构,则并列写出即可4、可以使用“xxx.*”的方式,表示可以导入xxx包下的所有结构5、如果使用的类或借口是java.lang包下定义的,可以省略import结构6、如果使用的类或借口是本包下定义的,则可以省略import结构7、 如果在原文件中,使用了不用的包中的类,则必须至少有一个类需要以全类名的方式显式。//原创 2021-09-18 16:09:11 · 241 阅读 · 0 评论 -
Java——Eclipse快捷键大全
import关键字的使用import:导入1、在源文件中显式的使用import结构导入指定包下的类、接口2、声明在包的声明和类的声明之间3、如果需要导入多个结构,则并列写出即可4、可以使用“xxx.*”的方式,表示可以导入xxx包下的所有结构5、如果使用的类或借口是java.lang包下定义的,可以省略import结构6、如果使用的类或借口是本包下定义的,则可以省略import结构7、 如果在原文件中,使用了不用的包中的类,则必须至少有一个类需要以全类名的方式显式。//原创 2021-09-15 16:27:47 · 3251 阅读 · 0 评论 -
Java——面向对象(九)——package与import关键字
this关键字的使用原创 2021-09-13 15:05:49 · 116 阅读 · 0 评论 -
Java——Eclipse——get、set方法的自动生成
前言我们在初学Java时,很多时候会遇到大量的重复性工作,耗时耗力,今天来教大家一种常见的自动生成get与set函数的方法,让我们可以省去很多不必要的工作量1、定义好变量public class Boy { private String name; private int age;}2、点击菜单中的source3、找到Generate Getters and Setters4、勾选要生成的变量名字5、点击生成此时编译器就自动生成了我们需要的...原创 2021-09-12 15:26:19 · 4549 阅读 · 0 评论 -
Java——面向对象(八)——this关键字的使用
this关键字的使用原创 2021-09-12 14:46:43 · 137 阅读 · 0 评论 -
Java——面向对象(七)——UML类图
+表示public类型—表示private类型# 表示protected类型方法的写法:方法的类型(+、-)方法名(参数名:参数类型):返回值类型原创 2021-09-09 21:40:29 · 176 阅读 · 0 评论 -
Java——面向对象(六)——JavaBean
JavaBean是一种Java语言写成的可重用组件Javabean是符合如下标准的Java类:①:类是公共的②:有一个无参的公共的构造器③:有属性,且有对应的get、set方法public class Customer { private int id; private String name; public Customer() { } public void setId(int i) { id = i; } public int getId() .原创 2021-09-09 21:31:46 · 73 阅读 · 0 评论 -
Java——面向对象(五)——构造器
目录一、构造器的作用二、说明总结:属性赋值的过程类的结构之三:构造器(constructor)的使用一、构造器的作用1、创建对象2、初始化对象的属性public class PersonTest { public static void main(String[] args) { //创建对象 Person p = new Person(); //初始化对象的属性 Person p1 = new Person("Tom");原创 2021-09-01 16:40:19 · 75 阅读 · 0 评论 -
Java——面向对象(四)——封装与隐藏
高内聚,低耦合高内聚 :类的内部数据操作细节自己完成,不允许外部干涉低耦合 :仅对外暴露少量的方法用于使用。一、问题的引入当我们创建一个类的对象以后,我们可以通过“对象 . 属性”的方式,对对象的属性进行赋值操作。这里,赋值操作要收到属性的数据类型和存储范围的制约。但除此之外,没有其他的条件。但实际问题中,我们往往需要给属性赋值加入额外的限制条件。这个条件就不能在属性声明时体现,我们只能通过方法进行限制条件的添加(比如setLegs)。同时我们需要避免用户再使用“.原创 2021-09-01 10:22:51 · 44 阅读 · 0 评论 -
Java——面向对象(三)——类的方法
类的两大结构之二:方法方法:描述类应该具有的功能。比如:Math类:sgrt()\random()\...Scanner类:nextXxx()...Arrays类:sort()\binarySearch()\toString()\equals()\...1.举例:publicvoideat(){}publicvoidsleep(inthour){}public...原创 2021-08-31 15:19:26 · 93 阅读 · 0 评论 -
Java——面向对象(二)——类的属性
类的两大结构之一:属性(成员变量)变量的分类:成员变量与局部变量在方法体外,类体内声明的变量称为成员变量。在方法体内部声明的变量称为局部变量。对比: 属性 vs 局部变量1、相同点:1.1定义变量的格式:数据类型 变量名=变量值1.2先声明,后使用1.3变量都有其对应的作用域2、不同点:2.1在类中声明的位置的不同属性:直接定义在类的一对{}内局部变量:声明在方法内、方法形参、代码块内...原创 2021-08-30 19:40:41 · 146 阅读 · 0 评论 -
Java——面向对象(一)——类与对象
设计类,就是设计类的成员。属性 = 成员变量 = field = 域、字段方法 = 成员方法 = 函数 = method原创 2021-08-30 19:36:40 · 120 阅读 · 0 评论 -
Java数组——定义及操作
一、声明及初始化int num;//声明num = 10//初始化其中,初始化可以分为静态初始化与动态初始化操作一维数组:静态初始化:int[] nums;nums = new int[]{1,2,3,4};数组的初始化和元素的赋值操作同时进行。动态初始化:int[] nums = new int[4];int nums = {1,2,3,4};数组的初始化和元素的赋值操作分开进行。二维数组:静态初始化:int[][] nums = n原创 2021-07-26 19:50:58 · 170 阅读 · 0 评论