获得徽章 0
- 各位大佬好,"help7x24"开源项目已经启动!!!
真正的coder敢于直面自己的代码,来吧,一块堆S山
目标是创建一个像掘金主页一样优秀的论坛系统。欢迎各位练手的小伙伴参与建设!评论1 - 我看不少掘友都是北方的,我现在教大家两个南方的词汇吧。
1、对湖南长沙的朋友,你可以这样说:嬲哒你滴娘。嬲字取自嬲塞(形容女孩长得十分漂亮),哒字取自下不哒地(形容非常厉害)。这句话的意思就是你的妈妈十分的漂亮。
2、对于广东的朋友你可以说:锁嗨。嗨是一个形容词,锁的意思就是你们的友谊像锁一样坚固。锁嗨就是形容你们之间的友谊十分的好。如果要加上一个期限的话,可以叫他死锁嗨。表达你们之间的友谊能一直到死。
你学会了吗?展开124 - Java核心技术卷Ⅰ第6天
集合
-
一、集合的由来
通常,我们的Java程序需要根据程序运行时才知道创建了多少个对象。但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型。为了满足这些常规的编程需要,我们要求能在任何时候,任何地点创建任意数量的对象,而这些对象用什么来容纳呢?我们首先想到了数组,但是!数组只能存放同一类型的数据,而且其长度是固定的,那怎么办了?集合便应运而生了。
二、集合是什么?
Java集合类存放在java.util包中,是一个用来存放对象的容器。
1.集合只能存放对象。比如你存入一个int型数据66放入集合中,其实它是自动转换成Integer类后存入的,Java中每一种基本数据类型都有对应的引用类型。
2.集合存放的都是对象的引用,而非对象本身。所以我们称集合中的对象就是集合中对象的引用。对象本身还是放在堆内存中。
3.集合可以存放不同类型,不限数量的数据类型。
三、集合接口与实现关系图没有画也就就不搬图了
-
The end:
激战一周第Ⅰ卷打算就先到这里了,时间挺紧张,每天996疯狂写BUG,昨天是今年第一次准点下班,脑壳疼。。。
但收获很大,了解了很多以前不知道的Java特性(虽然记住的没多少),首先感谢在这过程中帮助过我的小伙伴@Planswalker23@_大麦。但这并不是结束,未来《核心技术》将作为工具书时常查阅翻看(好书),温故知新!后续计划开始撸《Spring实战》,熟悉Spring框架及整个web开发体系的构成 ~~~
展开43 - Java核心技术卷Ⅰ第5天
泛型程序设计
-
Java5中引入泛型
-
泛型程序设计意味着编写的代码可以对多种不同类型的对象重用;
-
类型参数
ArryList list<String> new ArryList<>();
-
Java库使用变量E标识集合的元素类型,K和V分别表示表的键和值的类型。T表示“任意类型”(必要时还可以用相邻的字母U和S);
-
通配符、通配符的超类限定
-
异常处理
-
日志
-
泛型这块看的有点懵逼,好像是让代码更通用,拿方法来说,使一个方法可以支持多种类型参数的处理,并且可以把一些运行期出现的错误提前暴露出来,又好像是为了突破方法定义时的参数类型限制,直接用泛型,一个方法随便传入参数,虽然解决了入参的问题,假如方法内部逻辑不兼容还是gg,那方法内部要足够强大来应付这些未知的入参?有老师指导一下吗?@大佬
还有一个问题是写了一段代码如图,第二个user的实例化还有其他方式吗?展开121 - Java核心技术卷Ⅰ第4天
接口、lambda表达式
-
接口用来描述类应该做什么,而不指定他们具体应该如何;
接口中的方法都是public方法;
java单继承,接口可多继承;
得敲一把代码试试...
-
lambda
Java中lambda表达式的行是:(参数)-> 表达式;
需要注意一些关于这个的用法。真心感觉不如python的lambda显得优雅。
-
在些测试代码的时候遇到一个问题,就是对接口的实现方法传入了一个对象,然后想把对象的某个字段对应的value值作为判断条件进行逻辑处理,感觉java的处理有点费劲呀,好像是涉及到反射之类的(还没看),python中一个getattr就搞定了的事,可能还是对java不了解,菜!
-展开153 - Java核心技术卷Ⅰ第2天
对象与类
-
面向对象的程序设计OOP是一种程序设计范型
-
在Java中所有的类都源自一个“神通广大的超类”--Object(python中也是Object,只不过python还有一个type,所有类都是type生成的,type的基类是object,object是type生成的,object的基类为空...扯远了,收!)
-
对象的三个特征:1、对象的行为--可以对对象完成哪些操作;2、对象的状态--调用方法时,对象如何响应。一个封装性好的对象只能通过调用方法实现对象状态的变更;3、对象的标识--如何区分具有相同行为与状态的不同对象。例如两张业务数据一致的采购订单,虽然作为同一个类的实例,对象的标识也是不一样的。粗暴一点理解两张单据id肯定不同吧,即对象的标识不同。
-
类之间的关系:1、依赖--如果一个类的方法使用或者操纵另一个类的对象,就说一个类依赖于另一个类;2、聚合--聚合与依赖的区别是:依赖是东别人东西了,聚合只是两个对象在一块;3、继承;
-
对象与对象变量:对象变量并没有实际包含一个对象,他只是引用一个对象。Java中任何对象变量的值都是对存储在另外一个地方的某个对象的引用。
-
public、private,访问权限控制
-
在Java10中,如果可以从变量的初始值推导出他们的类型,可以用var关键字声明局部变量,只能是用于方法的局部变量。
-
隐式参数与显式参数
关键字this是隐式参数,也被称为方法的调用目标或接收者,也就是所构造的对象(有点像python的self呢,只不过python中self是必须显示的展示出来)。
-
final,在构造器执行之后,被修饰的属性值已经设置,以后不能再修改。
-
静态字段
如果将一个字段定义为static,每个类只有一个这样的字段。而对非静态的实例字段,每个对象都有一个自己的副本。
-
静态方法
什么情况下可以使用静态方法:1、方法不需要访问对象状态,因为他需要的所有参数都通过显式参数提供;2、方法只需要访问类的静态字段。
-
方法参数
按值调用--值,按引用调用--变量地址。Java对对象采用的不是按引用调用,实际上,对象引用是按值传递的(细品)。
-
后面还有些内容,字数限制不能写了...因此,中间也删除了一些个人理解部分。。学习的过程虽有破茧成蝶痛苦挣扎,但有收获就算成功展开53