在多線中使用lambda和內(nèi)部類的代碼
/*
?*
?*/
public class LambdaThread {
//?? ?static class Test implements Runnable{
//
//?? ??? ?@Override
//?? ??? ?public void run() {
//?? ??? ??? ?System.out.println("一邊聽歌");
//?? ??? ??? ?
//?? ??? ?}
//?? ??? ?
//?? ?}
?? ?public static void main(String[] args) {
?? ??? ?
?? ??? ?//jdk1.8簡化版
?? ??? ?new Thread(()-> {
?? ??? ??? ??? ?for (int i = 0; i < 1000; i++) {
?? ??? ??? ??? ??? ?System.out.println("一邊聽歌");
?? ??? ??? ??? ?}
?? ??? ?}
?? ??? ??? ?).start();
?? ??? ?for (int i = 0; i < 500; i++) {
?? ??? ?System.out.println("一邊敲代碼");
?? ?}
//?? ??? ?new Thread(new Test()).start();
?? ??? ?
?? ?}
}
package cn.jd.thread;
/*
?* 靜態(tài)代理
?* 1.真實角色2.代理角色都需要實現(xiàn)同一個接口
?*/
public class StaticProxy {
?? ?public static void main(String[] args) {
//?? ??? ?new WeddingCompany(new You()).happyMarry();
?? ??? ?new WeddingCompany(() ->{
?? ??? ??? ?System.out.println("新郎和新年結(jié)婚了");
?? ??? ??? ?
?? ??? ?}).happyMarry();
?? ?}
}
interface Marry{
?? ?void happyMarry();
}
//真實角色
//class You implements Marry{
//
//?? ?@Override
//?? ?public void happyMarry() {
//?? ??? ?System.out.println("新郎和新年結(jié)婚了");
//?? ??? ?
//?? ?}
//?? ?
//}
class WeddingCompany implements Marry {
?? ?//代理角色
?? ?private Marry target;
?? ?
?? ?public WeddingCompany(Marry target) {
?? ??? ?this.target = target;
?? ?}
?? ?@Override
?? ?public void happyMarry() {
?? ??? ?ready();
?? ??? ?this.target.happyMarry();
?? ??? ?after();
?? ??? ?
?? ?}
?? ?private void ready() {
?? ??? ?System.out.println("準(zhǔn)備婚房");
?? ?}
?? ?private void after() {
?? ??? ?System.out.println("鬧洞房");
?? ?}
?? ?
}
標(biāo)簽: