自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 集合框架和泛型

Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有3种子类型,List、Set和Queue,再下面是一些抽象类,最后是具体实现类,常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等等。Map接口底层是Entry -->映射 键是不可重复的(null值最多一个),值是可重复的。

2023-05-08 16:24:35 68

原创 day10 内部类

成员内部类可以被一些修饰符所修饰,比如:public,默认,protected,public,static等。2)创建静态内部类对象的格式:外部类名.内部类名 对象名=new 外部类名.内部类名();1)静态内部类只能访问外部类中的静态变量和静态方法,如果想要访问非静态的需要创建对象。方式二:直接创建格式:外部类名.内部类名 对象名=外部类对象.内部类对象。1)将内部类定义在方法里面就叫局部内部类,类似于方法里面的局部变量。3)该类可以直接访问外部类的成员,也可以访问方法内的局部变量。

2023-05-06 09:05:25 64

原创 day9 接口

默认方法不是抽象方法,所以不强制被重写。如果实现了多个接口,多个接口中存在相同名字的默认方法,子类就必须对该方法进行重写。当一个方法的参数是接口时,可以传递接口所有实现类的对象,这种方式称之为接口多态。实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口。实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口。继承关系,只能单继承,不能多继承,但是可以多层继承。继承关系,只能单继承,不能多继承,但是可以多层继承。注意1:接口和类的实现关系,可以单实现,也可以多实现。

2023-05-05 16:05:34 59

原创 day8 抽象类和抽象方法

(4)抽象类的子类:要么重写抽象类中的所有抽象方法;(2)抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类。抽象类:如果一个类中存在抽象方法,那么该类就必须声明为抽象类。所以,在父类中不能确定具体的方法体。由于每一个子类执行的内容是不一样,抽取共性时,无法确定方法体,就把方法定义为抽象的。该方法就可以定义为抽象方法。1.抽象方法:将共性的行为(方法)抽取到父类之后。强制让子类按照某种格式重写。2.抽象类和抽象方法的注意事项。(1)抽象类不能实例化。(3)可以有构造方法。3.抽象类和抽象方法的意义。

2023-05-04 16:59:44 61

原创 day7 权限修饰符和代码块

特点:需要通过static关键字修饰,随着类的加载而加载,并且自动触发,只执行一次。(3)执行时间:我们在创建本类对象的时候会先执行构造代码块再执行构造方法。1.从小到大:private 空着不写 protected public。特例:如果方法中的代码是抽取其他方法中共性代码,这个方法一般也私有。(2)作用:可以把多个构造方法中重复的代码抽取出来。使用场景:在类加载的时候,做一些数据初始化的时候用。实际开发中,一般只用private和public。(1)写在成员位置的代码块。格式:static{}

2023-05-04 16:18:14 37

原创 day7 final和包

final修饰的变量是引用类型:那么变量存储的地址值不能发生改变,对象内部的可以改变。细节:final修饰的变量是基本类型:那么变量存储的数据值不能发生改变。包名的规则:公司域名反写+包的作用,需要全部英文小写,见名知意。实际开发中,常量一般作为系统的配置信息,方便维护,提高可读性。使用java.lang包中的类时,不需要导包。如果同时使用两个包中的同名类,需要用全类名。方法:表明该方法是最终方法,不能被重写。使用同一个包中的类时,不需要导包。类:表明该类是最终类,不能被继承。

2023-05-04 16:07:31 39

原创 day6 面向对象进阶03 多态

编译看左边:javac编译代码的时候,会看左边的父类中有没有这个方法,如果有,编译成功,编译看左边:javac编译代码的时候,会看左边的父类中有没有这个变量,如果有,编译成功。运行也看左边:java运行代码的时候,实际获取的就是左边父类中成员变量的值。成员方法:如果子类对方法进行了重写,那么再虚方法表中是会把父类的方法进行覆盖的。运行看右边:java运行代码的时候,实际上运行的是子类中的方法。成员变量:在子类的对象中,会把父类的成员变量也继承下来。(1)变量调用:编译看左边,运行也看左边。

2023-05-04 16:06:07 49

原创 day6 面向对象进阶02 继承

当类与类之间,存在相同(共性)的内容,并满足子类是父类的一种,就可以考虑使用继承,来优化代码。书写格式:在继承体系中,子类出现了和父类中一模一样的方法声明,我们就称子类这个方法时重写。原因:子类在初始化的时候,有可能会使用到父类中的数据,如果父类没有完成初始化,子类将。A类继承B类,如果发生了重写,A类从B类继承的虚方法表中重写的方法将会被覆盖。多层继承:子类A继承父类B,父类B可以继承父类C 父类C是子类A的间接父类。6.方法的重写:当父类的方法不能满足子类现在的需求时,需要进行方法重写。

2023-04-27 14:18:14 76

原创 学习笔记(九)

一旦自定义了有参构造,原来的无参构造就不再提供,因此在定义有参构造的同时,应该显式定义无参构造。调用时,用对象名.方法名(实参列表);引用类型的变量传递的是地址,修改一个对象中的属性值,会同步更新到其他引用中。java会给成员变量赋默认值,局部变量没有默认值,如果没有初始化,则会报错。基本数据类型之间传递的是值,改变一个变量的值,不会同步改变另一个变量的值。(3)参数列表不同:个数不同,类型不同,顺序不同。成员变量的作用域是类的对象(所有成员)//return语句。4.shift+f6 替换。

2023-04-26 17:46:33 47

原创 day6 面向对象进阶01 static

因为main方法是静态的,所以测试类中其他方法也需要是静态的。非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法。static表示静态,是java中的一个修饰符,可以修饰成员方法,成员变量。测试类:用来检查其他类是否书写正确,带有main方法的类,是程序的入口。工具类:不是用来描述一类事物的,而是帮我们做一些事情的类 如Math类。static:被JVM调用,不用创建对象,直接类名访问。静态变量是随着类的加载而加载的,优先于对象出现的。静态方法只能访问静态变量和静态方法。

2023-04-26 11:09:45 111

原创 day5 集合

E set(int index,E,e) //修改指定索引下的元素,返回原来的元素(即被覆盖的值)数组:长度固定,可以存基本数据类型,可以存引用数据类型。集合:长度可变,可以存引用数据类型,基本类型[包装类]打印对象不是地址值,而是集合中存储数据内容。在展示的时候会拿[]把所有的数据进行包裹。泛型:限定集合中存储数组的类型。3.ArrayList成员方法。1.集合和数组的对比。

2023-04-25 10:17:34 45

原创 day4 API&字符串

等号右边有变量:每一行拼接的代码,都会在内存中创建新的字符串,浪费内存(在内存中创建了很多对象,浪费空间,时间也非常慢)StringJoiner跟StringBuilder一样,也可以看成是一个容器,创建之后里面的内容是可变的。JDK8版本: 系统会预估要字符串拼接之后的总大小,把要拼接的内容都放在数组中,此时也是产生一个新的字符串。等号右边没有变量:都是字符串直接相加,编译之后就是拼接之后的结果,会复用串池中的字符串。StringBuilder可以看成是一个容器,创建之后里面的内容是可变的。

2023-04-25 09:07:08 46

原创 day2 面向对象

2.一个Java文件中可以定义多个class类,且只能一个类是public修饰,而且public修饰的类名必须成为代码文件名。是一个权限修饰符、可以修饰成员(成员变量和成员方法)、被private修饰的成员只能在本类中才能访问。2.引用数据类型,变量中存储的是地址值(引用:使用了其他空间中的数据);1.基本数据类型:变量中存储的是真实的数据;1.对象代表什么,就得封装对应的数据,并提供数据对应的行为。数据值是存储在其他空间中,自己空间中存储的是地址值。特点:赋值给其他变量,也是赋的真实的值。

2023-04-25 09:06:32 42

原创 day1 方法

引用数据类型,变量中存储的是地址值(引用:使用了其他空间中的数据);每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系。传递基本数据类型时,传递的是真实的数据,形参的改变,不影响实际参数的值。在同一个类中,定义了多个同名的方法,这些同名的方法具有同种功能。简单记:同一个类中,方法名相同,参数不同的方法。传递引用数据类型时,传递的是地址,形参的改变,影响实际参数的值。数据值是存储在其他空间中,自己空间中存储的是地址值。栈:方法运行时使用的内存,方法进栈运行,运行完毕就出栈。

2023-04-25 09:05:57 42

原创 学习笔记(六)

byte、short、int的初始值是0,long的初始值是0L。定义一个变量存储最值,让该变量与数组中的每一个元素进行比较,但增强for无法同时修改数组的元素值(应用于基本数据类型)float初始值0.0f,double类型初始值为0.0。6.在一个有序数组中插入一个值,并保证数组依然有序的逻辑。类型[] 数组名={元素1,元素2,元素3};原则:不要使用增强for改变元素的值,其他两者都可以用。如果该变量不满足最值逻辑,则该变量将该元素值赋为新值。从后向前比,如果前一个值比该值小,则前一个值后移。

2023-04-20 17:41:35 41

原创 学习笔记(五)

continue:跳出当前循环体的本次循坏后续代码,继续下一轮循环。System.exit(状态码):中断程序,并返回对应的状态码。外层循环的变量变化一次,内存循环的变量变化一整轮。return:跳出当前方法体。break跳出当前循环体。

2023-04-19 17:14:43 41

原创 学习笔记(四)

变量值的改变){ //次数固定的循环优先使用。while(条件){ //次数不固定的循环优先使用。循环:目的是解决生活中重复发生的场景。2.do-while循环。

2023-04-18 17:06:36 56 1

原创 学习笔记(三)

/代码2:条件为flase;//代码1:条件为true;}else if(条件2){}else if(条件3){if-else构成了全集。5.switch选择结构。1.if(表达式){//表达式为真则执行。3.if(条件1){

2023-04-17 17:38:38 73

原创 学习笔记(二)

逻辑运算符:&(逻辑与)、|{逻辑或}、^(逻辑异或)、&&、||、!快速多行注释:ctrl+shift+/+=、-=、*=、/=、%=位运算符:&、|、^、~、<<、>>、>>>关系运算符:==、!=、>、<、>=、<=算数运算符:+、—、*、/、++、--打断点、debug运行程序、单步调试。三、快速单行注释:ctrl+/

2023-04-13 17:35:25 78

原创 学习笔记(一)

long(长整型,64位 -2^63~2^63-1) long lo=123L。short(短整型,16位 -2^15~2^15-1)数值型:整形:byte(字节型,8位 -128-127) 无符号型(0-255)int(整型,32位 -2^31~2^31-1)String、List(集合类型)、对象类型、数组类型。二、变量名命名规则:英文字母、数字、下划线构成(数字不能在开头)、美元、人民币。非数值型:字符型: char: 48代表0 65代表A 97代表a。多行注释:/* */

2023-04-13 10:36:53 108 1

空空如也

空空如也

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

TA关注的人

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