自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Set集合

**Set集合存储的元素是无序的,而且不能存储重复的元素,**每当有新的元素存入的时候,Set集合会先去过滤,如果发现和集合中的元素出现重复,就不允许添加。应用场景当我们不想让集合中出现重复的元素的时候,使用Set集合当我们需要排除重复数据时,使用Set集合HashSet定义HashSet集合中的元素是通过hash值来比较是否相同集合通过元素的hashCode和equals方法来比较两个元素是否相同, 不同就存入, 相同不存入元素存入的位置未知,和存入的顺序无关存储原理Ha

2021-03-25 17:56:51 91

原创 List集合

定义:List集合是有序的,可以存储重复的数据List集合通过记录元素在集合中的元素位置准确的查找元素List集合体系:ArrayList 底层使用数组(线程不安全)LikedList 底层使用链表Vector 底层使用数组(线程安全的,不推荐使用)ArrayList集合定义:底层使用的是数组,存储的元素是有序的,可以重复存储,通过数组角标来查询更改元素,速度快删改要改动数组中的角标,所以会导致增删效率低下ArrayList的增删改查原理ArrayList 集合初始化会有一个默认长

2021-03-12 16:55:06 117

原创 集合和数组的区别

我们都知道数组的长度是不可以改变的,当元素的个数超过数组的长度之后,我们只能通过创建长度更长的新数组的方式来储存元素,这个时候 集合给我们提供了另外一种容器的概念,可改变长度的容器,这样程序在使用的时候就不需要在考虑容器的问题,从而更加专心于业务了,Java中数组是唯一的底层容器,所以集合是开发者使用Java规范制作逻辑上的容器。数组和集合的区别区别1:数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值。集合只能存储引用数据类型(对象的引用),其实

2021-03-12 16:41:10 579

原创 Object类

定义:Object是所有类的基类/根类所有的类都是直接或者间接继承Object类常用方法:hashCode()public int hashCode()返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。不同对象的,hashCode()一般来说不会相同。但是,同一个对象的hashCode()值肯定相同。toString()public String toString()返回该对象的字符串表示默认的方法返回的数据一般对我们没有意义, 建议重写JavaBean中

2021-03-10 17:41:34 54

原创 权限修饰符

权限修饰符是为了确定类或者类成员的使用范围Java中权限修饰符private 类中默认(什么都不写) 类中 包下protected 类中 包下 别的包的子类中(子父类调用)public 类中 包下 别的包的子类中 其他包Java中的包1.其实就是路径,和电脑中的文件夹一个意思,Java中的类名前面要加上包名才是完整的类的路径,Java主程序运行的地方就算作根路径2.Java程序想要从硬盘上找类文件,就会从当前位置找包名+类名(最外层包所在的路径)导入包:我们在写程序的

2021-03-10 17:34:56 83

原创 异常

我们在写Java代码的时候可能会出现问题,这些问题我们统称为异常。Throwable : Error ExceptionException : 编译时异常 运行时异常异常的处理:1.编译时异常的处理目的:让程序通过编译1.语法错误:修改语法2.提示警告:抛或者try运行时异常的处理:目的:让程序继续运行1.可控的:修改代码逻辑2.不可控:try自定义异常:当我们需要停止程序,而不止停止一层,还需要携带一些信息回去,可以抛异常来完成java中已经存在的异常有时不能满足我们的需求,

2021-03-09 17:57:08 71 1

原创 内部类

成员内部内当类中的成员过多的时候,可以使用成员内部类再进行封装一次注意事项:1.创建内部内对象,必须先创建外部类对象2.内部类可以直接使用外部类的成员,但是,外部无法直接使用内部类的成员3.内部类中出现了一次类的成员,优先使用内部的,如果想要指明外部类,必须使用外部类名.this.成员4.成员内部类中有四种权限静态内部类:给成员内部类加上static,就变成了静态内部类静态内部类的唯一作用是可以绕过外部类对象,直接使用内部类注意事项:静态内部类中的成员无法直接使用外部类的成员局部内部

2021-03-09 17:49:33 64

原创 接口

定义接口其实就是抽象类的升级版, 接口里面都是抽象方法从狭义上将来说, 接口就是指java 中的interface从广义上的角度讲对外提供规则的都是接口接口就是一套标准的规范(规则)特点接口用关键字interface表示interface 接口名{ }接口中方法上的abstract关键字可以省略类实现接口用implements表示class类名 implements 接口名{ }接口不能实例化接口按照多态的方法实例化接口的子类可以是接口,使用extend

2021-03-08 17:38:45 59

原创 抽象类

抽象类:抽象类没有具体的代码实现, 只是规定了方法的基本属性, 然后由子类去实现具体的代码, 抽象类主要是为了定义规则而存在的抽象类的特点:抽象类和抽象方法必须用abstract 关键字修饰abstract class 类名{}abstract 返回追类型 方法名();抽象类不一定有抽象方法, 有抽象方法的类一定是抽象类或者接口抽象类不能实例化, 必须由子类继承并重写抽象方法来实例化抽象类的子类要么是抽象类要么重写抽象类中的所有抽象方法(普通类)抽象类成员方法的特点:

2021-03-08 17:37:42 56

原创 多态

多态:父类引用指向子类对象(父类类型的变量可以存储子类类型的对象)多态的优缺点:提高了代码的扩展性,复用性喝维护性子类特有的方法喝属性无法被使用多态下,对象成员访问的特点:成员变量 : 编译看左边, 运行看左边 (基本无用, 成员变量一般私有化)成员方法 : 编译看左边, 运行看右边 (主要使用方式)静态成员 : 编译看左边, 运行看左边 (基本无用,静态使用类名调用)转型:子类对象被父类变量引用:向上转型父类引用再赋值给子类变量:向下转型(有风险,需要强转)final关键字:fin

2021-03-08 17:33:18 41

原创 方法重写(overriding)

方法的重写:子父类中出现了一模一样的方法重写是一种现象, 也是一个动作当子类需要父类的功能, 而子类有自己特有内容时, 可以重写父类的方法, 这样 , 既延续了父类的功能 , 又定义了子类特有的内容重写的注意事项私有方法父类中私有方法不能被重写因为父类私有方法子类根本无法继承权限子类重写父类方法时, 访问权限不能更低最好保持一致静态方法父类的静态方法, 子类也必须通过静态方法重写重写其实是全遮挡, 调用者无法在通过任何方式去调用和子类关联的父类对象中的方法但是静态无法做到全

2021-03-05 19:48:52 104

原创 继承(extends)

**继承:**编程语言中的继承就是值让类和类之间产生关系,子父类关系优缺点:优点:就是为了获取到父类中的方法和属性提高代码的复用性和维护性让类和类之间产生联系,是多态的前提缺点:类的耦合度增强了,我们的开发原则是高类聚,低耦合耦合:类与类的关系内聚:独立完成工作的能力继承中的注意事项this和super关键字this代表本类对象super表示父类对象this.成员调用本对象中的成员,也可以调用父类中的成员(当子类中没有的时候)super.成员 调用父类的成员this(…)调用本类

2021-03-05 19:45:02 59

原创 静态(static)

被static修饰的成员,表示静态。如果被static修饰,类的成员将不再属于这个类创建的对象。使用格式:类名.成员变量名类名.方法名()特点:1,随着类的加载而加载2,优先于对象存在3,被类的所有对象共享4,通过类名调用~其实也可以通过对象名调用~推荐使用类名调用5,优先于非静态成员6,类的所有静态成员都存储于静态方法区注意事项:1,静态的成员在内存中只有一份2,所有的操作都是指向同一个静态成员3,可以用对象名进行调用(但是不推荐)4,静态可以极大的提升运行的效率5,

2021-03-04 17:24:56 402 1

原创 构造方法

构造方法:方法名与类名相同(大小写也要与相同)没有返回值,连void都没有没有具体的返回值return构造方法可以是有参的也可以是无参的public class Student {//构造方法public Student(){System.out.println(“构造方法运行了”);}}注意事项:如果没有写构造方法那会编译器会自动给我们添加一个空参空代码的构造方法。如果已经写了有参的构造方法,编译器就不会给我们加上空参的构造这时,还想使用空参的构造,就需要我们手动补上空参

2021-03-04 17:05:01 162 1

原创 面向对象(封装)

什么叫面向对象:我们java开发人员其实每天都在和对象打交道,所以我们称之为面向对象编程。面向对象的特点:封装,继承,多态,抽象封装其实就是包裹方法,对方法进行归类整理,对外提供get和set方法,其他类只能通过get和set对对象属性值进行操作。对象:类是一个模板,不能直接使用,需要创建对象。类名 对象名 = new 类名();使用对象:对象名.成员变量对象名.方法()...

2021-03-03 13:36:34 130

原创 方法的运行原理

java TestDemo开启java虚拟机去硬盘上读取TestDemo.class这个文件到方法区,整理之后形成一个TestDemo类将TestDemo类中的main方法压到栈中运行main方法中的代码自行的过程中碰到indexOf();jvm会暂停执行main方法, 到方法去中查询indexOf方法, 如果有,就拿到栈中运行indexOf方法运行之前, jvm会将实参赋值给形参indexOf运行, 直到结束 , 结束之后, 被jvm弹栈main方法继续运行, 将indexOf运行之后

2021-03-02 16:20:20 94

原创 函数(方法)

方法出现的原因:提高代码的复用性和可维护性程序中多次出现使用到相同的代码,我们可以将这段功能性代码提取到一个方法中,便于下次重复调用。方法的格式:权限修饰符 静态/非静态 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {//方法体语句;return 返回值;}权限修饰符:设定方法的作用范围静态/非静态:static关键字表示静态,如果没有出现static就是非静态返回值类型:就是代码运行的结果的数据类型方法名:调用的时候我们使用的是方法名参数:1:实际参数,实际参加运

2021-03-02 16:14:33 46

原创 数组的常见问题

1·数组的索引编号都是从0开始的,一直到“数组的长度—1”为止。如果我们访问数组元素的时候,索引编号不存在,那么将会发生数组索引越界异常(ArrayIndexOutOfBoundsException)原因:访问了不存在的角标。解决办法:修改正确的索引编号。2·所有的引用类型变量,都可以赋值为一个null值,代表数组里什么都没有。数组必须进行new(创建对象)才能使用其中的元素。栈中的数组变量没有指向堆内存中的数组实体,那么将会发生空指针异常(NullPointerException)原因:没有进

2021-03-01 20:57:54 560

原创 Java的内存划分

Java的内存划分Java的内存主要划分为5个部分1:栈(stack)存放的都是方法中的局部变量,方法的运行一定要在栈中运行。局部变量:方法的参数,或者是方法{}内部的变量作用域:一旦超出作用域,立刻从栈中消失2:堆(Heap):凡是new出来的东西都在堆中堆内存中都有一个地址值:16进制堆内存里面存放的数据都有一个地址值规则如下:如果是整数 ------默认为0;如果是浮点数-----默认为0.0;如果是字符---------默认为’\u0000’;如果是布尔-----------

2021-03-01 20:10:29 80

空空如也

空空如也

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

TA关注的人

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