- 博客(38)
- 收藏
- 关注
原创 小小初识java(38)-List集合[超详细]
由于ArrayList底层基于Object[]实现的,所以所有的引用数据类型都可以存储在集合里面,但是基本数据类型不可以,为了保证基本数据类型也可以存储在集合里面,所以引出包装类。若创建ArrayList对象时设置了空间大小,如20000,但是实际只存放了12000,则可以调整空间大小(调整为list包含元素的个数)//将该集合元素装进list集合里面。list.remove(Object 元素):指定元素删除---->调用equals()list.remove(元素)能不能删除成功取决于equals()
2024-10-11 11:37:52
366
原创 小小初识java(37)-深克隆和浅克隆
深克隆是在克隆一层的同时也把其属性在克隆一份,形成独立的内容。例如:克隆某个对象时,被克隆对象的基本数据类型的内容与克隆对象的基本数据类型的内容不同,被克隆对象的引用数据类型【如对象】也与克隆对象的引用数据类型【如对象】不同【属于对象里面的其中一个属性也是一个对象】。浅克隆是克隆一层,例如:克隆某个对象时,被克隆对象的基本数据类型的内容与克隆对象的基本数据类型的内容不同,而被克隆对象的引用数据类型与克隆对象的引用数据类型则属于共享一份【属于对象里面的其中一个属性也是一个对象】。
2024-10-11 11:23:37
212
原创 小小初识java(36)-Object类
equals()是Object类型里面一个方法,程序员可以按照自己的意愿将内存里面不同的两个对象视为相等对象,比如:String类通过覆盖equals()将两个不同的对象只要内容一样就视为相等对象。注意:当此方法(equals)被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。【第一步:实现Cloneable接口 第二步:重写clone(),在其中使用父类的clone(),并抛异常】面试题:==和equals()之间的区别?
2024-10-11 10:31:50
416
原创 小小初识java(35)-接口
jdk8.0开始:接口里面可以出现普通方法:必须加上static/default。接口:默认都是静态的最终变量:public static final。接口:只能写抽象方法 -》 public abstract。抽象类:既可以定义抽象方法,也可以定义普通方法。jdk9.0开始:接口里面可以出现私有方法了。抽象类:默认都是普通属性 default。类和接口:implements。接口和接口:extends。接口和抽象类之间的区别?接口:interface。类和类:extends。一个类可以实现多个接口。
2024-10-11 10:25:54
257
原创 小小初识java(34)-abstract
抽象方法,表示这个类型一定会这个方法,但是现在给不出具体的实现,待留给子类去实现。抽象类特有构造方法,但是不能创建对象,那么抽象类里面的构造方法作用?面试题:final和abstract能不能同时修饰一个方法?抽象类有构造方法吗?一个类里面只要有抽象方法,那么这个类一定要变成抽象类。abstract修饰的方法叫抽象方法,需要子类去覆盖。抽象类里面既可以定义抽象方法,又可以定义普通方法。final修饰的方法叫做最终方法,不能被覆盖。抽象的,修饰符,相当于汉文中的形容词。:抽象类,表示这个类型不形象不具体,
2024-10-11 10:22:51
237
原创 小小初识java(33)-final
修饰符,表示最终的,相当于汉文中的形容词。final 基本数据类型 -》 数值不变。final 引用数据类型 -》 地址不变。String和Math类型都是最终类。可以被子类继承,但是不能被覆盖。final能修饰哪些东西?不能有子类,但是可以有父类。一旦赋值之后就不能在修改值。:最终类 "骡子类"
2024-10-11 10:21:09
250
原创 小小初识java(32)-static
static修饰的变量要求类一加载就要在内存里面找到他,但是局部变量只有方法调用,代码执行到这一行的时候才能创建 ,类的加载永远在前面,方法调用永远在后面,这两个时间点赶不上一起的,所以static不能修饰局部变量。静态的方法里面只能直接的访问静态的成员,如果想要访问非静态的成员,需要创建对象,拿着对象去调用。静态代码块用来静态属性赋值的,当类第一次被加载的时候执行,从头到尾执行一次。普通代码块用来普通属性赋值的,当创建对象的时候执行,创建几个对象执行几次。修饰符 表示静态的 相当于汉文中的形容词。
2024-10-11 10:19:43
455
原创 小小初识java(31)-面向对象的高阶特征
protected : 受保护的,只有本包内可以访问 + 包外有继承关系的子类中可以访问。不一定,如果B类想要访问A类里面公共的方法,前提是需要先能访问到A类。default : 默认的,只有本包[package]内可以使用。面试题:A类里面定义一个public修饰的方法在B类里能使用吗?private : 私有的,只有本类可以访问的。public : 公共的,表示谁都可以使用的。他们各自能修饰哪些东西。类 成员[属性、方法]
2024-10-11 10:16:54
209
原创 小小初识java(29)-String小提升
不new的方式直接去常量池查看,如果有该单词,直接从常量池里面取出来使用,如果没有的话,在常量池里面缓存一份。StringBuilder:同一时间允许多个线程进行访问,效率较高,但是可能会出现并发错误。StringBuffer:同一时间允许一个线程进行访问,效率较低,但是不会出现并发错误。new的方式先在堆里面开辟,与此同时还会去常量池里面查看。
2024-10-11 09:00:27
496
原创 小小初识java(28)-String常见方法
String类是不可改变类型,所有的方法都不会直接的处理原本的字符串,而是将符合条件的字符串返回给我们,所以注意接收。
2024-10-10 09:18:45
412
原创 小小初识java(27)-构造方法
如果想要在创建对象的时候给所有属性赋值的话,需要自己写一个构造方法,一旦我们写出自己的构造方法之后,默认的无参构造方法将不再提供。this():表示要执行本构造方法之前,先去执行本类的其他的构造方法,具体执行本类的哪一个构造方法,看参数类型。this():要执行本构造方法之前,先去执行本类的其他的构造方法,具体执行本类的哪一个构造方法,看参数类型。super():表示要执行本构造方法之前,先去执行父类的构造方法,具体执行父类的哪一个构造方法,看参数类型。super()和this()之间的区别?
2024-10-10 08:59:56
271
原创 小小初识java(26)-Scanner扫描仪
当在nextInt()/nextFloat()/nextDouble()等之间采用nextLine()接收数据时,应在nextLine()的上面添加sc.nextLine(),该不需要用来接收数据。
2024-10-09 13:25:35
148
原创 小小初识java(25)-super()与this()
注意:在构造方法中,第一行可以使用super() / this();若没有写super() / this() ,则默认是super()
2024-10-09 13:25:00
215
原创 小小初识java(24)-方法覆盖
jdk5.0开始,方法覆盖的时候 ,其实返回类型可以改变了。可以变成父类方法返回类型的子类类型 -》 协变返回类型。,表示下面的方法一定要覆盖父类的某些方法。jdk5.0开始,方法覆盖的时候可以加。
2024-10-09 11:50:40
372
原创 小小初识java(22)-多态
当我们拿着多态创建完一个对象之后,这个对象。, 一旦调用子类特有的属性/方法 【报错】编译阶段,编译器只看等号的左边进行语法检查。耦合度:代码之间的相互依赖程度。
2024-10-09 11:45:05
290
原创 小小初识java(20)-封装
所有的属性前面都加上private,每个属性提供两个public修饰的方法。用private将不想被外界访问到的属性/方法隐藏起来。一个是用来得到属性值的方法 -》 getter[获得]给核心方法提供服务的方法 -》 private修饰。判断哪些是核心方法 核心方法用public修饰。private : 私有的,只有本类可以访问。类的开发者:数据得到了保护,从而更加的安全。public : 公共的,谁都可以使用的。类的使用者:将精力放在核心业务逻辑上。
2024-10-09 11:40:27
288
原创 小小初识java(14)-双层for循环[注意点]
当多个循环嵌套在一起的时候,如果代码写在最里面,想要处理外层循环,需要给外层循环贴标签。内层跳向外层,continue/break用法一致。【不能为数字/关键字】
2024-10-09 11:25:47
186
原创 小小初识java(11)-switch-case
switch-case的参数可以传哪些数据类型?学会使用break共享代码,将执行相同操作的代码放在一起共享。如果一个方法有返回类型,那么里面的。default必须加。[否则缺少返回语句]
2024-10-08 17:33:08
385
1
原创 小小初识java(9)-变量
局部变量:从定义的那一行开始,一直到所在的方法体结束之前可以访问,一旦所在的方法体执行结束,局部变量立即消亡,依赖于方法存在。成员变量:也叫属性,表示对象有什么,依赖于对象存在,当我们。成员变量 又叫实例变量/属性:定义类体里面 方法体外面。成员变量:即使不赋值也有默认值,默认值看数据类型。局部变量:没有默认值,要求使用之前必须先赋值。,当对象消亡的时候,属性伴随着也会消亡。局部变量 又叫自动变量:定义方法体里面。成员变量和局部变量之间的区别?java中的变量分为几种?
2024-10-08 17:02:23
180
原创 小小初识java(8)-运算符
拿着这个正数 & 上2的n次方数-1 的结果 ------->m&((2的n次方)-1) 【某些情况:当拿着一个正数m % 上2的n次方数的时候 ------> m%(2的n次方)相同点:&&和&都是逻辑的与,相当于汉文中并且的意思,需要前后两个条件都成立才能执行。相同点:||和|都是逻辑的或,相当于汉文中或者的意思,需要前后一个条件成立就能执行。短路特性:如果通过前面的条件可以得出最终的结果,后面的条件直接舍弃,不再判断。不同点:||叫做逻辑的短路或,有短路特性。&&和&之间的区别?||和|之间的区别?
2024-10-08 17:00:48
363
原创 小小初识java(7)-交换两个变量的值
比如byte,此类型比int小,当两个byte进行算数运算时,先提升至int在进行运算,若设置一个byte类型用来接收该两个byte的结果则会报错。两个char类型运算也出现这种情况。String类型则不能采用异或【^】交换。
2024-10-08 16:56:37
233
原创 小小初识java(6)-基本数据类型
底层基于Unicode编码实现的,无论是中文、英文 统一都是2个字节 = 16个位。只能使用true[真]/false[假]进行赋值。小的数据类型可以直接提升为大的数据类型。short和char之间需要双向强转。大的数据类型需要强转成小的数据类型。byte和char之间需要双向强转。布尔类型:boolean。位 8 16 32 64。整数类型默认是int类型。字节 1 2 4 8。
2024-10-08 16:55:12
252
原创 小小初识java(5)-数据类型
【无数种】引用数据类型,自定义数据类型 [程序员自己开发的数据类型]【2种】基本数据类型,简单数据类型[程序里面自带的数据类型]如:String null[空]
2024-10-08 16:52:48
156
原创 小小初识java(4)-软件包结构
编译阶段 【以前:javac XXX.java 现在:javac -d . XXX.java】运行阶段 【以前:java XXX 现在:java 包结构.XXX】com0-com9:打印机设备 con:网络设备 nul:空设备。给出不同的命名空间,从而让重名的文件可以同时存在。javadoc -d :说明书 XXX.java。-->包等价于操作系统中的文件夹。按照文件的功能,性质进行分类,方便查找。javadoc :生成帮助文档。常用的工具命令:bin。javac :编译指令。java :运行指令。
2024-10-08 16:38:22
171
原创 小小初识java(3)-开发环境
JDK叫做java软件开发工具包,一旦电脑安装jdk之后,既可以编写代码又可以运行代码。SDK = software development kits = 软件开发工具包。JRE = java runtime environment = java运行环境。JRE叫做java运行环境,一旦电脑安装jre之后,只能运行代码。JDK = java + SDK = java软件开发工具包。JDK和JRE之间的区别?
2024-10-08 16:36:15
204
原创 小小初识java(2)-标识符的命名规范
不能使用java中的关键字/保留字[const goto]不能使用数字开头 但是可以用中文 英文 $ _开头。
2024-10-08 16:33:48
275
原创 小小初识java(1)-跨平台
ctrl + 1:编译阶段 检查代码错误 生成.class文件 ctrl + 2:运行阶段 类加载器加载XXX.class文件】【解释执行器:解释翻译的工作 XXX.java[单词:给人] -> XXX.class[字节码文件、中间文件] -》 二进制。XXX.java[单词 -》人] -》 解释执行器 + 字节码校验器 -》 XXX.class XXX.class ->用java开发出来的应用程序不受底层操作系统的限制,可以运行在所有的操作系统上面。类加载器:加载一个类的.class文件。
2024-10-08 16:28:07
255
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅