自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 收藏
  • 关注

原创 java之StringBuider

** * Summary: * 1. 若字符串存在大量修改操作,一般使用StringBuilder 或 StringBuffer * 2. 若字符串存在大量修改操作,且单线程运行,使用StringBuilder * 3. 若字符串存在大量修改操作,且多线程运行,使用StringBuffer * 4. 若字符串很少修改操作,被多个对象引用,使用String(如:配置信息) *//** * 1、介绍 * 1) StringBuilder是一个可变的字符序列。此类提供一个与St

2022-03-04 20:26:23 418

原创 java之StringBuffer

/** * 1、java.lang.StringBuffer 代表可变的字符序列,可以对字符串内容进行增删 * 2、很多方法与String相同,StringBuffer是可变长度的 * 3、StringBuffer是一个容器 */1、介绍public class MyStringBuffer { public static void main(String[] args) { // 1. 直接父类是 AbstractStringBuilder // 2

2022-02-23 09:16:33 515

原创 java之String类型

1、初识/** * 1、String类介绍 * 1) String对象用于保存字符串,即一组字符序列 * 2) 字符串常量对象是用双引号扩起的字符序列,即 "字符序列" * 3) 字符串的字符使用Unicode字符编码,一个字符(不区分汉字字母)占2个字节 * 4) String类常用构造方法 * String s1 = new String(); * String s2 = new String("123"); *

2022-02-21 14:07:11 462

原创 java包装类

/** * 1、包装类:针对8种基本数据类型相应的引用类型 * 2、优点: 有了类的特点,就可以调用类中的方法 * 3、包装类对应关系: * boolean -----> Boolean * char -----> Character * * // 父类是Number的包装类 * byte -----> Byte * short -----> Short * int -----&g

2022-02-17 12:07:17 170

原创 java之异常处理

** * 1、异常处理:异常发生时,对异常的处理方式 * 2、俩种对异常的处理方式 * 1) try-catch-finally: 程序员在代码中捕获异常,自行处理 * 无论是否发生异常,finally 代码块总要执行,通常写释放资源的代码 * 2) throws:将发生的异常抛出,交给调用者处理,最顶级的调用者就是JVM * 3、说明 * 1) t-c-f 和 throws 二选一即可 * 2) 若没有 t-c-f 异常捕获,默认t

2022-02-14 19:03:57 266

原创 java练习01

package level2.exercise.exercise06;public class exercise { public static void main(String[] args) {// Person harry = new Person("harry",new Vehicle().getHorse());// harry.getVehicles().work();// harry.setVehicles(new Vehicle()

2022-02-09 20:19:59 285

原创 java之注解

package level2.annotation;import java.util.ArrayList;import java.util.List;/** 1、介绍 * 1) 注解也被称为元数据(Metadata),用于修饰解释 包、类、方法、属性、构造器、局部变量等数据信息 * 2) 和注释一样,注释不影响程序逻辑,但注解可以被编译或运行,相当于嵌入在代码中的补充信息 * 3) 在JavaSE中,注解使用的目的比较简单,例如标记过时的功能,忽略警告等。 *

2022-02-08 21:16:33 49

原创 java之枚举类型

1、介绍package level2.myEnum;import java.lang.Enum;/** * 1、枚举类:把具体对象一个一个列举出来的类,叫做枚举类 * 2、说明: * 1) 枚举是一组常量的集合 * 3、实现 * 1) 自定义实现枚举 * 1、构造器私有化,防止直接new对象 * 2、在Season内部,直接创建一组对象 * 3、对外暴露对象,通过为对象添加 public final st

2022-02-08 14:08:00 204

原创 java内部类

1、介绍package level2.interClass;/** * 1、介绍: 一个类的内部类 又完整的嵌套了另一个类结构,被嵌套的类称为内部类(inner class) * 嵌套其他类的类称为外部类,是我们类的第五大成员(属性、方法、构造器、代码块、内部类), * 内部类的最大特点就是可以直接访问私有属性,并且可以体现类与类之间的包含关系 * 2、语法: * class outer{ // 外部类 * cl

2022-02-07 20:56:21 179

原创 java之接口

package level2.myInterface;/* 1、介绍: 接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候, 再根据具体情况把这些方法写出来 2、语法: interface 接口名{ // 属性 // 方法(1.抽象方法 2.默认实现方法 3.静态方法) } class 类名 implement 接口{ 自己属性;

2022-02-07 14:09:45 47

原创 java抽象类实践之模板设计模式

package com.knowledge.designMode.template;/* 1、需求:有多个类,完成不同的任务 job,要求能够统计得到各自完成任务的时间 */public class MyTemplate { public static void main(String[] args) { Sub sub = new Sub(); sub.calculateTime(); Sub1 sub1 = new Sub1();

2022-02-05 12:17:27 242

原创 java抽象类

1、关键点  如果一个类 继承了抽象类,则它必须实现抽象类的所有抽象方法,除非它自己也是抽象类  抽象方法不能使用 private、final 和 static 来修饰,因为这些关键字都是和重写相违背的package myAbstract;/* 1、场景:当父类的某些方法,需要声明,但是有不确定如何实现时,可以将其声明为抽象方法 那么这个类就是抽象类 2、介绍:抽象方法,就是没有实现的方法 3、抽象类的介绍: 1) 用 abstract 关键字来修饰一个类时,这个类就

2022-02-05 11:15:44 158

原创 java之final

package com.knowledge.myFinal;/* 1、final 可以修饰类、属性、方法和局部变量 (final修饰的常量通常大写) 2、final 使用场景: 1) 当不希望类被继承时,可以用 final 2) 当不希望父类的某个方法被子类 覆盖/重写 时,可以使用final修饰 3) 当不希望某个类的某个属性的值被 修改,可以用final修饰 4) 当不希望某个局部变量被修改,可以用final修饰 3、说明: 1) final修饰的属性又

2022-02-04 21:59:41 165

原创 java单例模式

1、单例设计模式介绍: 即:保证一个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法 2、单例模式有两种方式:1) 饿汉式 2)懒汉式 3、区别: 1) 创建时机: 饿汉式在类加载时就创建了对象实例,懒汉式是在使用时创建; 2) 饿汉式不存在线程安全问题,懒汉式存在线程安全问题 3) 饿汉式不存在浪费资源的可能,懒汉式则不存在1、饿汉式/* 单例模式饿汉式:只要类加载,就会被创建,无论对象是否使用 1) 构造器私有化 2) 在类的.

2022-02-04 21:20:16 146

原创 java之代码块

总结: 1、静态代码块只会在类加载的时候,只会执行一次 2、普通代码块,每创建一次对象,就调用一次,与类加载无关 3、如果只是使用类的静态成员,普通代码块不会执行 4) 创建一个对象时,顺序为:  a.先做类的加载: 先加载父类,再加载子类;类加载时,执行静态语句: 静态属性初始化、静态代码块执行;  b.创建对象: 调用子类构造器,由于构造器最前边隐藏了 super()调用、普通代码块调用、普通属性初始化;  c.子类构造器中先执行super(),调用父类构造器,同理,父类调用super()

2022-02-04 16:12:28 157

原创 java中main方法说明

1、main() 方法说明package com.knowledge.myMain;/* main 方法学习 1、main方法 public static void main(String[] args){} 形式说明: 0) main 方法是由java虚拟机调用; 1) JVM需要调用类的main()方法,所以该方法的访问权限必须是public; 2) JVM在执行main()方法时不必创建对象,所以该方式必须是static; 3

2022-02-04 14:23:15 600

原创 java类属性/类方法

package com.knowledge.myStatic;/* 类变量1、介绍:类变量也叫静态变量/静态属性,是该类的所有对象共享的变量, 任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个 该类的对象去修改它时,修改的也是同一个变量2、定义:访问修饰符 static 数据类型 变量名; (访问修饰符规则不变)3、访问:类名.变量名 或 对象名.变量名4、说明: 1) 什么时候需要用类变量: 当我们需要让某个类的所有对象都共享一个变量时

2022-02-04 11:27:34 560

原创 java中Object类的方法

1、equals()2、hashCode()3、toString()4、finalize()package myObject;/** hashCode() 方法 * 1、提高具有哈希结构的容器的效率 * 2、两个引用,如果指向的是同一个对象,则哈希值肯定是一样的 * 3、两个引用,如果指向的是不同对象,则哈希值肯定是不一样的 * 4、哈希值主要是由地址号计算得出,不能完全将哈希值等价于地址 * 5、hashCode方法,在集合中根据使用情况进行重写*/public class My

2022-02-02 15:04:04 214

原创 java中==&equal区别

// Object类详解package myObject;/* == 和 equals 的区别 1、==: 是一个比较运算符,既可以判断基本类型,又可以判断引用类型 2、==: 如果判断基本类型,判断的是值是否相等。示例:int i=10; double d=10.0 3、==: 如果判断引用类型,判断的是地址是否相等,即判定是不是同一个对象 1、equals: 是Object类中的方法,只能判断引用类型 2、equals: 默认判断的是地址是否相等,子类中往往

2022-02-02 11:35:39 201

原创 java参数多态

package mypoly.ployParameter;/* 多态参数: 方法定义的形参类型为父类类型,实参类型允许为子类类型*/public class PloyParameter { public static void main(String[] args) { Employee worker = new Worker("worker01",3000); Employee manager = new Manager("manager01",5000,

2022-02-02 10:49:53 508

原创 java多态数组

package mypoly.polyArray;/*多态数组:数组的定义类型为父类类型,里边保存的实际元素类型为子类类型*/public class PolyArray { public static void main(String[] args) { Person[] myPerson = new Person[5]; myPerson[0] = new Person("Per01",20); // 向上转型 myPerson[1]

2022-02-02 10:22:26 332

原创 java动态绑定机制

package dynamicBinding;/* java 的动态绑定机制(重要) - 总结: 方法看左,属性看右 1、当调用对象方法的时候,该方法会和该对象的内存地址/运行类型绑定 2、当调用对象属性时,没有动态绑定机制,哪里声明,哪里使用*/public class DynamicBinding { public static void main(String[] args) { B b = new B(); System.out.pri

2022-02-01 21:46:51 147

原创 java多态

package mypoly;/* 多态基本介绍 1、方法或对象具有多种形态,多态建立在封装和继承的基础之上 2、方法多态:重载和重写就体现多态 3、对象的多态(多态的核心): 1)一个对象的编译类型和运行类型可以不一致 2)编译类型在定义对象时,就确定了,不能改变 3)运行类型可以变化 4)编译类型看定义时 = 号的左边,运行类型看 = 的右边; Animal animal = new Dog(

2022-02-01 21:05:24 271

原创 java方法重写

package myOverride;/* 基本介绍 1、方法重写(覆盖)就是子类中有一个与父类中某个方法名成、参数列表、返回类型完全相同的方法 那么我们就说子类的这个方法覆盖了父类中的方法 注意事项(方法重写也叫方法覆盖,需要满足下面的条件) 1、子类的方法的 参数、方法名称,要和父类中对应方法完全一致 2、子类方法的返回类型和父类方法的返回类型一致,或是父类返回方法的子类 3、子类方法不能缩小父类方法的访问权限(如果父类中同名方法是public,那么

2022-02-01 17:23:05 151

原创 java中Super

package com.use.myextends.mysuper;/* super 关键字 1、super代表父类的引用,用于访问父类的属性,方法,构造器 2、基本语法 1) 访问父类属性: super.属性名 2) 访问父类方法: super.方法名(参数列表) 注意不能访问私有方法,不同包下,不能访问默认级别 3) 访问构造器: super(参数列表) - 只能放在第一句、只能出现一句 3、super.

2022-02-01 16:19:03 50

原创 java继承01

package com.use.myextends;public class ExtendsTheory { public static void main(String[] args) { Son son = new Son(); /* 按照查找关系来返回信息 (1) 首先看子类是否有该属性 (2) 如果子类有这个属性,并且可以访问,直接返回该信息 (3) 如果子类没有该属性,则查找直接父类有没有该属性(如果父类有

2022-02-01 12:00:41 39

原创 java继承

package com.use.myextends;import com.use.myextends.exercise.Student;/** 继承细节* 1、子类继承父类所有的属性和方法,但是私有属性和方法不能在子类中直接访问 要通过公共的方法去访问* 2、子类必须调用父类的构造器,完成父类的初始化* 3、当创建子类对象时,不管使用子类的哪个构造器,默认情况下总会去调用父类的无参构造器* 如果父类没有提供无参构造器,则必须在子类的构造器中用super去指定使用父类的哪

2022-02-01 11:21:28 148

原创 java封装

package com.myEncapsulation;/* 1、面向对象三大特征: 封装、继承、多态 2、封装的理解 1) 隐藏实现细节 2) 可以对数据进行验证,保证数据安全合理 3、封装的实现步骤 1) 将属性私有化private【外部不能直接访问属性】 2) 提供一个公共的set方法,用于对属性判断并赋值 public void setXxx(数据类型 参数名){ // Xxx表示某个属性 // 加入数据验证的业务

2022-01-30 10:43:11 252

原创 java访问修饰符

package com.use;/* java共提供4种访问修饰符,用于控制方法和属性的访问权限(范围) 1、public: 公共级别,对外公开,任何条件下都可以直接访问 2、protected: 受保护级别,对子类和同一个包中的类公开,不同包中的类不能直接访问 3、默认级别: 没有修饰符,向同一个包的类公开,子类和不同包不能直接访问 4、private,私有级别,只有类本身可以直接访问,不对外公开总结: public>protected>默认>

2022-01-30 09:29:41 161

原创 java包

package com.use;/* 包的命名 1、命名规则:只能包含数字、字母、下划线、小圆点,但不能用数字开头,不能是关键字或保留字 2、命名规范:一般是 小写字母+小圆点,一般是 com.公司名.项目名.业务模块名 3、 常用的包: 1、java.lang.* 是基本包,默认引入,不需要再引入 2、java.util.* 系统提供的工具包、工具类 3、java.net.* 网络包,网络开发 4、java.awt.* 是做java的

2022-01-28 19:06:14 197

原创 java中this

/*this关键字1、java虚拟机会给每个对象分配 this,代表当前对象2、简单的说,哪个对象调用,this就代表哪个对象1、this关键字可以用来访问本类的属性、方法、构造器2、this用于区分当前类的属性和局部变量3、访问成员方法的语法: this.方法名(参数列表)4、访问构造器语法: this(参数列表); 注意只能在构造器中使用(即只能在构造器中使用另外一个构造器) 且必须放在第一条语句5、this不能在类外使用,只能在类中使用*/public class My.

2022-01-25 21:24:57 187

原创 java构造器

/*构造器介绍: 构造器又称为构造方法,是类的一种特殊方法,主要作用是完成对新对象的 初始化特点: 1) 方法名和类名相同 2) 没有返回值 3) 在创建对象是,系统自动调用该类的构造器完成对对象的初始化1、基本语法 [修饰符] 方法名(形参列表){ 方法体; }2、 构造器的修饰符可以默认,也可以是public private protected3、 构造器没有返回值4、 方法名和类名必须一样5、 参数列表 和 成员方法一样的规则6、 构造器的调用 - 系统完成7、..

2022-01-25 13:24:51 127

原创 java作用域

/*1、属性和局部变量可以重名,访问时遵循就近原则;2、在同一个作用域中,两个局部变量不能重名(比如同一个成员方法中);3、属性生命周期较长,伴随着对象的创建而创建,伴随着对象的死亡而死亡 局部变量生命周期较短,伴随着它的代码块的执行而创建,伴随着它的代码块的结束而死亡 即在一次方法调用过程中 4、作用域范围不同 全局变量/属性: 可以被本类使用,或其他类使用 局部变量: 只能在本类中对应的方法中使用 5、修饰符不同 全局变量/属性可以加修饰符 局部变量.

2022-01-25 12:51:41 121

原创 java作用域

/*作用域1、在java编程中,主要的变量就是属性(成员变量)和局部变量2、局部变量 一般 是指在成员方法中定义的变量(也可以在代码块中)3、java中作用域的分类 全局变量: 即属性,作用域为整个类, 局部变量: 作用域为定义它的代码块中4、全局变量(属性)可以不赋值,直接使用,因为有默认值, 局部变量必须赋值后,才能使用,因为没有默认值*/public class Scope{ public static void main(String[] args) { }}.

2022-01-24 22:36:40 1675

原创 java可变参数

/*1、java允许将同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法 就可以通过可变参数实现2、基本语法: 访问修饰符 返回类型 方法名(数据类型... 形参名){3、细节: 1) 可变参数的实参可以为0个或任意多个 2) 可变参数的实参可以为数组; 3) 可变参数的本质就是数组; 4) 可变参数可以和普通类型的参数一起放在形参列表,但必须保证可变参数在最后位置 5) 一个形参列表中只能出现一个可变参数 }*/public class ChangeCansh.

2022-01-24 22:21:12 111

原创 java输出空心三角形

import java.util.Scanner;/* 1、输出5*5的*矩阵; 2、输出 * 第1(i)行 1(j)个* j<=i ** 第2行 2个* *** 第3行 3个* **** 第4行 4个* ***** 第5行 5个* 3、输出 * 第1行 1个* (2*1-1) 空格4个(5-1)个 *** 第2行 3个* (2*2-1) 空格3个 ***** 第3行 5个* (2*3-1) 空格2个 ******* 第4行 7个* (2*4-

2022-01-17 21:38:59 586

原创 Python网络编程之Part01.网络编程初识

1.一些概念1.互联网模型: 由于不同机器上的程序要通信,才产生了网络,才有了互联网,互联网模型按照功能分为 osi七层 或 tcp/ip五层 或 tcp/ip四层 模型,我们最常用的是 tcp/ip五层模型,从上到下依次是:层功能 (协议)设备应用层各类应用软件(数据)手机/电脑等传输层选择通信传输协议(TCP/UDP,封装端口号等信息,TCP头部)四层...

2020-04-10 17:21:41 124

原创 Python面向对象之Part10.三个内置模块(hashlib/logging/configprase)

1.hashlib模块 hashlib 模块是一个很重要的模块,这和模块中有很多常用的hash算法,使用场景有一下两种:1.密码的密文存储2.文件的一致性验证但是无论使用那种hash算法,使用 hashlib 的方式不变,如下:# md5 算法import hashlibmd5 = hashlib.md5() # 拿到一个md5对象md5.update(b'test123') ...

2020-04-01 22:25:49 121

原创 Python面向对象之Part09.几个内置方法

 双下方法就是 __dict__这样的方法,这是一种种特殊的方法,因为,我们调用双下方法时,一般不会直接调用,例如:我们计算长度时,一般使用 len(obj),而不使用 obj.__len__(),所以,类中的双下方法可以通过在类外使用另一种形式来调用到;,它的特殊之处在于:我们不需要显式调用某个双下方法,当我们使用 len(obj) 这个内置函数时,实际上我们是调用了 obj 这个对象所在的类中...

2020-03-27 11:21:23 84

原创 Python面向对象之Part08.反射

1.反射的概念 反射是 使用字符串类型的名字获取变量 ,在python面向对象编程中,是一个很有用很重要的技巧,也是一个我们必须熟练使用的技能。 python中的反射涉及到4个函数,而我们最常用的只有2个函数,这些函数分别为:hasattr getattr delattr setattr ,其中我们最常用的就是 getattr hasattr,其次是 setattr,而delattr我们几...

2020-03-26 13:03:41 85

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除