java知识分享篇(三)
大家好,我是小小刀,又和大家见面了,废话不多说了,直接进入开场白吧
进学习交流群可加小刀微信: best396975802
公众号: java技术大本营
说几句废话
如此上文对以如此标题是喜剧常用的方式,上一秒要大干一场,下一秒就怂了,看官哈哈笑一场,戏子说:我怂也怂的很认真,很努力。
坦言之,这几天我也在经常怀疑自己这样的分享和整理能坚持多长时间,今天回到家一看,已经8点了,就想上床躺一会,我也知道,一旦上床休息,就不可能再下来整理了,所以我就拖着自己打开电脑,打开文档,坚持下去,与各位共勉!
今日分享
Lombok的使用(lmbby)
- 原分享
今天学习实体类了解到Lombok的使用
作用:解决在实体类中大量使用gettter setter toString等方法;使用Lombok后可在运行中自动生成这些方法,简化代码结构。
使用:
-
IDE配置Lombok插件
-
添加lombok依赖
-
简单代码结构
import lombok.Builder;
import lombok.Data;
@Data
@Builder
public class Ad {
private Integer id;
private String name;
}
/**
其中@Data 自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法
@Builder 实例化类
*/
- 小刀说
这个工具的使用要看个人的习惯,有时候需要自定义equals
,hashcode
方法时还是要自己手写下。那么今天的扩展问题来了
- 扩展问题
-
equals
和hashcode
的作用和关系
sql加条件控制语句(小小刀)
- 原分享
刚遇到的sql中带 if 的查询语句
sqlserver
中是select iif(exp1,return1,return2) from 表名
mysql
中是 select if (exp1,return1,return2) from 表名
- @谭工的补充及扩展
- 用case when 实现sql的条件控制
多态的理解(笃信)
- 回答(permanent)
同一物体多种状态,面向对象的三大特性之一
- 小刀说
我们的群管理员就是多态,喊一声管理员可能是小刀答应你,也可能是某位MM答应你
Admin admin = new MM();
- 扩展,一道多态的题目
class A {
public String show(D obj){
return ("A and D");
}
public String show(A obj){
return ("A and A");
}
}
class B extends A{
public String show(B obj){
return ("B and B");
}
public String show(A obj){
return ("B and A");
}
}
class C extends B{}
class D extends B{}
public class DuoTai {
public static void main(String[] args) {
A a1 = new A();
A a2 = new B();
B b = new B();
C c = new C();
D d = new D();
System.out.println(a1.show(b));
System.out.println(a1.show(c));
System.out.println(a1.show(d));
System.out.println(a2.show(b));
System.out.println(a2.show(c));
System.out.println(a2.show(d));
System.out.println(b.show(b));
System.out.println(b.show(c));
System.out.println(b.show(d));
}
}
/**
* 小伙伴们动手试一试,看看输出的是什么结果
*/
对前面几篇补充一下
有小伙伴在后台留言,说可以把标准答案也发一下,我偏偏就不发出来,因为一发的话看着答案再看问题好像都会,但实际上深研下来都很模糊,似是而非,如上篇所说,如果我做的事能有助于大家学习,我就很开心了,但不代表这些题发出来就不管了,我们在群里面还有讨论,也有小伙伴私聊和我讨论,我很高兴,每一次的讨论都有新的收获。
想学习java的小伙伴,我们在群里等你哦~
进群请添加小刀微信: best396975802