- 博客(18)
- 收藏
- 关注
原创 java基础(泛型)
/OK//错误,类型不对//OK ,因为 T=Object "yy"=String 是Object子类//1. Tiger 后面泛型,所以我们把 Tiger 就称为自定义泛型类//2, T, R, M 泛型的标识符, 一般是单个大写字母//3. 泛型标识符可以有多个.//4. 普通成员可以使用泛型 (属性、方法)//5. 使用泛型的数组,不能初始化//6. 静态方法中不能使用类的泛型R r;//属性使用到泛型M m;T t;
2024-08-03 22:53:29
254
原创 java基础(线程基础)
并发理解:并发可以看成在某一段时间内是“同时”进行的。在这个时间段内两个进行交替进行(也就是在这个时间段内的每一个时刻都只有一个进程),但在这个时间段外看这两个进程就是“同时”的。进行时例如:早上八点到八点半洗漱,八点半到九点吃早饭,可以说成早上八点到九点洗了漱、吃了早饭,这两个事件同时进行。并行理解:并行就是严格的同一时刻进行多个任务,比如图片中的边打电话边开车。
2024-08-02 16:40:08
849
原创 java基础(集合)
集合的基本介绍 这里的方法对于下面的子类都实用 1.3List(类似于队列)1.3.2List遍历方式的汇总ArraysList是List接口的实现子类,而List实现了Colection接口,因此作为Colection的实现子接口他们的遍历方式相同 1.3.3ArrayListArrayList注意事项第二点的源码分析 上面需要注意的是DEFAULT_CAPACITY的值就是10,是一个final类型确定好了的。第三点的源码分
2024-07-31 11:35:03
666
原创 java基础(常用类大全)
编译器不会傻傻的开辟三块空间分别存储hello,helloabc,abc,它会进行优化,它会判断创建的常量池对象是否有引用指向,最终它只会存helloabc因此只创建了一个对象前面两句话很简单在常量池分别创建了两个对象。(对于第三句话(底层)它会先创建一个StringBuilder sb = StringBuilder(),再执行sb.append(“hello”),下一步它会再一次执行sb.append(“abc”)将abc追加到hello后面,最后通过sb.toString方法返回一个字符串。
2024-07-27 22:23:40
989
原创 java基础(枚举、注解)
根据代码的问题给定一下几点要求:(1)季节的值是有限的几个值(2)只读,不需要修改枚举是一组常量的集合(枚举属于一种特殊的类,里面只包含一组有限的限定的对象)小结:(1) 构造器私有化(2)本类内部创建一组对象(3)对外暴露对象(通过为对象添加public final static 修饰符)(4)可以提供get方法,但是不要提供set。
2024-07-25 10:47:40
444
原创 面相对象高级(类变量和类方法、代码块、单例设计模式、final关键字)
/如果我们要求A类不能被其他类继承//可以使用final修饰A类class C{//如果我们要求hi不能被子类重写//可以使用final修饰hi方法(可以继承)// System.out.println("重写C类的hi方法");// }//}class E{class F{//这是NUM也是局部常量//NUM = 0.09无法更改5.2final的相关细节//细节2class AA{/*
2024-07-22 11:05:05
868
原创 面相对象中级(方法重写,多态,Object类)
定义:equals方法指示其他某个对象是否与此对象相等。[1]"=="的细节(1)==:即可以判断基本类型,又可以判断引用类型。(2)==:如果判断基本类型,判断的是值是否相等。示例:int i = 10;i==d(3)==:如果判断引用类型,判断的是地址是否相等,即判定是不是同一个对象//new开辟了一块新的地址空间空间A b = a;A c = b;//true//true// 因为a,b,c指向的同一个地址空间B obj = a;
2024-07-17 21:26:33
686
原创 面相对象中级(包、访问修饰符、封装、继承、super关键字)
2.当子类中有和父类中的成员(属性和方法)重名时,为了访问父亲的成员,必须通过super。通过看上述两段代码不难发现,代码中有很多重复的部分也有不重复的部分,对于重复部分其实是学生的共有属性,重复写很麻烦,可以采取继承的方式解决这一问题。因为子类中的super()默认(super是隐含存在的,只是编译器自带的)调用父类的无参构造器,而父类没有加无参构造器,因此代码报错。如果父类没有提供无参构造器,则必须在子类的构造器中使用super去指定使用父类的哪个构造器完成对父类的初始化工作,否则,编译不会通过。
2024-07-13 12:08:15
949
原创 java笔记(IDEA使用)
可以在类里面点击鼠标右键在点击generate(快捷方式就是alt+insert)ctrl+鼠标左键可以实现选中多个,一个都不选就是无参构造器。
2024-07-12 12:11:43
3468
原创 面相对象基础(类和对象、方法、重载、可变参数、作用域、构造器、this关键字)
class car{//属性可以是基本数据类型,也可以是引用(对象,数据)//定义一个猫类Cat->自定义的数据类型class Cat{int age;//1.new Cat()创第一只猫把创建的猫赋给 cat1cat1.name = "小白";cat1.color = "白色";//1.new Cat()创建第二只猫把创建的猫赋给 cat2cat2.name = "小黑";cat2.color = "黑色";//怎么使用。
2024-07-11 17:00:23
821
原创 java语法基础2(运算符、标识符)
赋值运算符“=”,int a = 10 ,就是将a的值变为10。复合赋值运算符如“+=”,“-=”,“*=”,“/=”,“%=”。具体用法举个例子:a+=10等价于a=a+10,其余的一次类推。关系运算符的结果都是boolean型,也就是要么是true,要么是false。(2)三元运算符可以转成if--else语句(因为三元运算符的本质就是先判断再选择)用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值。2.如果条件表达式为false,运算后的结果是表达式2;(2)单目运行++ --
2024-04-29 22:31:08
349
原创 java语法基础1(转义字符、基本数据类型)
这里的第五点要注意!因此当我们运算结果是小数的进行相等判断时,应该是以两个数的差值的绝对值,在某个精度范围内判断。自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型,使用时要加上强制类型转换符()。比如:int num = ‘a’由于char的精度比int小所以是可以自动转化的,此时的num为97.1.有多种类型的数据混合运算时,系统首先自动将所有的数据转换成容量最大的那种数据类型,然后再进行计算。2.当我们把精度大的数据类型赋值费精度小的数据类型时,就会报错,反之就会进行自动转化。
2024-04-20 16:41:14
1085
原创 二分法的笔记
2.数据中不存在目标值时,例如在513,567,598,689中寻找600,此时是无法再数据中找到600的,最终第一个模版会返回该数据大于600且离600最近的值,也就是689,而第二个模版会返回该数据中小于600且离600最近的值,也就是598。1.数据中存在多个目标值,例如在1,3,3,4这个数据中寻找3,第一个模版会寻找第一个3,而第二个则是寻找的第二个3。两种模版都能对在数据中找到目标值,但是针对不同的情况两种放大有一些区别。
2024-03-17 20:51:15
235
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1