2024年Java最全Java奇技淫巧:new对象后加大括号{},最后顺便做了个小框架?(2),送给正在迷茫的你

总结:心得体会

既然选择这个行业,选择了做一个程序员,也就明白只有不断学习,积累实战经验才有资格往上走,拿高薪,为自己,为父母,为以后的家能有一定的经济保障。

学习时间都是自己挤出来的,短时间或许很难看到效果,一旦坚持下来了,必然会有所改变。不如好好想想自己为什么想进入这个行业,给自己内心一个答案。

面试大厂,最重要的就是夯实的基础,不然面试官随便一问你就凉了;其次会问一些技术原理,还会看你对知识掌握的广度,最重要的还是你的思路,这是面试官比较看重的。

最后,上面这些大厂面试真题都是非常好的学习资料,通过这些面试真题能够看看自己对技术知识掌握的大概情况,从而能够给自己定一个学习方向。包括上面分享到的学习指南,你都可以从学习指南里理顺学习路线,避免低效学习。

大厂Java架构核心笔记(适合中高级程序员阅读):

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

Fu f = new Fu(){

@Override

public void eat() {

System.out.println(“eat方法被重写了!”);

}

};

这样就可以省去多写一个类的麻烦。

步骤 2  匿名子类的构造器

先看一段代码

public static void main(String[] args) {

Fu f = new Fu(){

/** 这里再打一个打括号,就是在匿名子类的构造器中写东西 */

{

setName(“Zi”);

}

@Override

public void eat() {

/** this.getClass为匿名类*/

System.out.println(this.getClass());

System.out.println(this.getName() + " eating…");

}

};

f.eat();

}

这种写法也很奇特,但是真的有用!你可以在生成匿名子类对象的时候,把数据初始化一下。

步骤 3  实战应用1.给HashMap赋初值

Map<String,Object> study = new HashMap<String,Object>(){{

put(“name”,“java小白翻身”);

put(“url”,“java18.cn”);

}};

System.out.println(study);

这下是真的学到了,因为生成的对象还是Map(因为多态),所以不会有任何影响,赶紧拿去秀翻同事吧~~

步骤 4  实战应用2.给ArrayList赋初值

List list = new ArrayList(){{

add(1);

add(2);

add(3);

}};

System.out.println(list);

步骤 5  实战应用3.传参的时候直接new接口

这种情况是非常普遍的!

这种情况是非常普遍的!

这种情况是非常普遍的!

重要的话说三遍,如果你喜欢翻看源码,这种技巧真的是随处可见。比如:

//直接开启一个线程

new Thread(new Runnable() {

@Override

public void run() {

System.out.println(“线程开启!”);

}

}).start();

一般这种情况都是直接new接口,实际上是new一个接口的匿名实现类啦,不过我一般喜欢说new一个接口。

如果这个接口中只有一个抽象方法,就可以用lamda表达式:

new Thread(() -> {

System.out.println(“线程开启!”);

}).start();

步骤 6  神级展开: 我顺手做了个小框架?!

这部分内容是我突然想到的,既然这个匿名子类对象这么好用,我是不是可以用这个特性来做个SQL生成器?

最终做出来的效果是这样的:

String sql = new SQL(){{

select(“*”).from(“t_user”).where(“uname like ‘j%’”)

.and(“sex=‘男’”).orderby(“id desc”);

}}.toString();

System.out.println(sql);

很美观,很有趣是不是,其实SQL类的代码异常简单啦,相信你也一定可以写出来:

package com.javaxbfs.demo;

/** 自定义简单SQL构建器,不支持复杂sql* */

Java高频面试专题合集解析:

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

当然在这还有更多整理总结的Java进阶学习笔记和面试题未展示,其中囊括了Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构资料和完整的Java架构学习进阶导图!

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

更多Java架构进阶资料展示

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

图片转存中…(img-0TVUsr38-1714858992449)]

[外链图片转存中…(img-qxjJjNjs-1714858992449)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 18
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值