JAVA基础(吹毛求疵)
文章平均质量分 56
java基础篇,里面讲的很细致,很适合有java基础但是掌握不牢固的人看
月光螳螂
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
14-泛型的学习
6、静态方法/属性 不可以使用泛型!因为静态是跟类加载相关的 在类加载时 对象还没有创建。所以如果静态方法和静态属性使用了泛型 JVM就无法完成初始化。1、Tiger后面泛型,所以我们就称Tiger为自定义泛型。2、T R M 是泛型的标识符,一般都是单个的大写字母。4、普通成员可以使用泛型(属性,方法)5、使用泛型的时候 不可以初始化。T,E要求只能是引用类型。3、泛型标识符可以有多个。泛型的继承和通配符的学习。原创 2023-11-05 19:10:03 · 80 阅读 · 0 评论 -
13-集合(基本使用+源码分析)
前面我们保存多个数据使用的是数组,但是数组也有很多不足的地方。原创 2023-10-31 23:09:57 · 99 阅读 · 0 评论 -
12-常用类的使用
要点1:Integer m = 1;实际上是 Integer m = Integer.valueOf(1) ,再去看Integer.valueOf的源码。第一个false的原因是因为直接new的对象,那肯定是false了,两个对象在堆中的位置都不一样。演示包装类 和 基本数据类型 的相互转换,这里以int和Integer演示。第三个false的原因 看懂第二个的原因 你就知道为什么是false了。原来在 -128 ~ 127 之间是按照int的值的大小返回对象的。答案是 false true false。原创 2023-09-23 16:29:58 · 143 阅读 · 0 评论 -
11-枚举+注解+异常
构造器私有化,防止别人直接new对象去掉set方法,防止属性被修改在类中创建固定的对象,用public static final修饰(final往往和static搭配使用,效率更高,不会导致类加载,底层编译器做了优化处理)/****/// 演示自定义枚举实现// 描述// 3、在Season内部创建固定的对象// 定义了四个对象 final的好处 --> final往往和static搭配使用,效率更高,不会导致类加载,底层编译器做了优化处理。原创 2023-09-20 22:45:00 · 112 阅读 · 0 评论 -
10-面向对象高级(进阶)
抽象类不能被实例化抽象类不一定要包含abstract方法一旦类包含了abstract方法,则这个类必须声明为abstractabstract只能修饰类和方法,不能修饰属性和其他的抽象类也是类,类能有什么成员抽象类一样可以如果一个类继承了抽象类,则它必须实现抽象类的所有抽象方法,除非它自己也声明为抽象类抽象方法不能使用final、private、static来修饰,因为这些关键字都是和重写相违背的。原创 2023-09-16 16:35:36 · 90 阅读 · 0 评论 -
09-面向对象高级
代码块基本介绍代码块又称为初始化块,属于类中的成员,类似于方法,将逻辑语句封装在方法体中,通过 {} 包围起来但和方法不同,没有方法名,没有返回,没有参数,只有方法体,而且不通过对象或类显式调用,而是加载类时,或创建对象时隐式调用基本语法[修饰符] {代码注意:①:修饰符可选,要写的话,也只能写static②:代码块分为两类,使用static修饰的是静态代码块,没有static修饰的,叫普通代码块/非静态代码块③:逻辑语句可以是任何逻辑语句(输入、输出、方法调用、循环、判断)④:;原创 2023-09-12 17:31:52 · 104 阅读 · 0 评论 -
08-Object详解
默认返回: 全类名 + @ + 哈希值的十六进制,方法,用于返回对象的属性信息。原创 2023-09-11 11:30:02 · 84 阅读 · 0 评论 -
07-面向对象中级
当创建子类对象时,不管使用子类的哪个构造器,默认情况下总会去调用父类的无参构造器,如果父类没有提供无参构造器,则必须在子类的构造器中用super 去指定使用父类的哪个构造器完成对父类的初始化工作,否则,编译不会通过[举例说明]子类继承了所有的属性和方法,非私有属性和方法可以直接访问,但是私有属性和方法不能在子类直接访问,要通过父类提供公共的方法去访问。第二步:提供一个公共(public)的set方法,用于对属性判断并赋值。第三步:提供一个公共的(public)get方法,用于获取属性的值。原创 2023-09-04 23:08:44 · 93 阅读 · 0 评论 -
06-类与对象
java内存的结构分析1)栈: 一般存放基本数据类型局部变量2)堆: 存放对象(Cat cat ,数组等3)方法区:常量池常量,比如字符串, 类加载信息4)示意图java创建对象的流程简单分析1、先加载Person类信息(属性及方法信息在方法区,只会加载一次)2、在堆中分配空间,进行默认初始化3、把堆中的地址赋值给p(p在栈中),p就指向对象4、进行指令初始化,比如 p.name = "jack";p.age = 10;原创 2023-08-28 23:37:46 · 84 阅读 · 0 评论 -
05-数组
先拷贝一份,赋给新值,这样新值再怎么变,也不会影响到老变量的值,发生在栈中,拷贝的是具体数据。引用传递(地址传递):传递(拷贝)的其实是地址。值传递:值传递会把老变量的。原创 2023-08-23 22:49:40 · 73 阅读 · 0 评论 -
04-算术运算符
凡是自己可以取名字的地方都叫标识符。赋值运算符的一些细节。原创 2023-08-19 23:03:57 · 87 阅读 · 0 评论 -
03-基本数据类型和String类型的转换
在程序开发中,我们经常需要将基本数据类型转成String类型。或者将String类型转成基本数据类型。基本类型转String类型:将基本类型的值 + "" 即可String类型转基本类型:通过基本类型的包装类。原创 2023-08-13 19:16:39 · 109 阅读 · 0 评论 -
02-强制类型转换
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型,使用时要加上强制转换符(),但是,要格外注意。原创 2023-08-13 18:16:20 · 84 阅读 · 0 评论 -
01-基本数据类型转换
01-java基本类型转换原创 2023-08-13 11:07:02 · 90 阅读 · 0 评论 -
java面试题基础篇-07-接口和抽象类的区别
接口和抽象类的区别抽象类中可以存在普通成员函数,而在接口中的只能存在public abstract方法抽象类的成员变量可以是各种类型的,而在接口中的成员变量只能是public static final类型的抽象类只可以继承一个,而接口可以实现多个。深入理解接口的设计目的,是对类的行为进行约束,也就是提供一种机制,可以强制要求不同的类中具有相同的行为,它只约束了行为的有无,但不对如何实现行为做具体的限制。抽象类的设计目的,是代码复用,当不同的类具有相同的行为,而其中一部分行为的实现方.原创 2022-02-04 14:56:49 · 394 阅读 · 0 评论 -
java面试题基础篇-06-重载与重写的区别
重载发生在同一个类中,方法名必须相同、参数类型不同、个数不同、顺序不同、方法返回值和访问权限修饰符可以不同。重写发生在父子类中,方法名、参数列表必须相同!返回值范围小于等于父类抛出的异常范围小于等于父类,访问修饰符范围大于等于父类。如果父类方法访问修饰符为private,则子类就不能重写该方法。...原创 2022-02-04 14:32:54 · 427 阅读 · 0 评论 -
java面试题基础篇-05-String、StringBuffer、StringBuilder的区别与联系
StringString是final修饰的,不可变的,每次操作都会产生新的String对象StringBufferStringBuffer和StringBuilder都是在原对象上操作StringBuffer是线程安全的StringBuffer的方法都是被synchronize修饰的StringBuilderStringBuffer和StringBuilder都是在原对象上操作StringBuider是线程不安全的性能:StringBuilder>StringBuffer原创 2022-02-04 14:11:05 · 473 阅读 · 0 评论 -
java面试题基础篇-04-final
简述final作用最终的修饰类:表示类不可被继承修饰方法:表示方法不可以被子类覆盖,但是可以重载修饰变量:表示变量一旦被赋值就不可以更改它的值(1)修饰成员变量如果final修饰的是类变量,只能在静态初始化块中指定初始值或者声明该类变量时指定初识值如果final修饰的是成员变量,可以在非静态初始化块、声明该变量或者构造器中执行初始值(2)修饰局部变量系统不会为局部变量进行初始化,局部变量必须由程序员显示初始化,因此使用final修饰局部变量时,既可以在定义时指定默认值,也可以不指定默认值原创 2022-02-04 13:54:05 · 343 阅读 · 0 评论 -
java面试题基础篇-03- ==和equals
==和equals==对比的是栈中的值,基本数据类型是变量值,引用类型是堆中内存对象的值object.equals跟 == 作用一致String.equalsString重写了equals方法,在String中使用equals方法比较的就是一个一个字符的去比,看看一样不一样经典笔试题...原创 2022-01-31 17:03:36 · 842 阅读 · 0 评论 -
java面试题基础篇-02-JDK、JRE、JVM三者的区别与联系
JDK、JRE、JVM三者的区别与联系JDKJava Development Kit : java开发工具JREJava Runtime Environment : java运行时环境JVMJava Virtual Machine : java虚拟机解析class文件,让操作系统能够执行java文件的执行流程java文件先由javac编译成.class文件,这些.class文件再由jvm调用类库解释成机器码,最后映射到系统调用。...原创 2022-01-31 16:48:21 · 8419 阅读 · 0 评论 -
java面试题基础篇-01-面向对象
面向对象对比与面向过程,是两种不同的处理问题的角度面向过程更注重于事情的每一个步骤,面向对象更注重事情有哪些参与者(对象),以及各自都需要些什么。比如洗衣机洗衣服面向过程会将任务拆分成一系列的步骤(也就是函数),1-打开洗衣机,2-放衣服,3-放洗衣粉,4-清洗,5-烘干面向对象会拆出人和洗衣机两个对象:人 : 打开洗衣机 放衣服 放洗衣粉。洗衣机 : 清洗 烘干面向过程比较直接高效,而面向对象更易于复用、扩展和维护封装封装的意义,在于明确标识出允许外部使用的所有成员函数和函数项,原创 2022-01-31 16:17:09 · 452 阅读 · 0 评论
分享