第一章JavaSE知识回顾与复习:静态代码块、final关键字、单例模式和更多

Review

1.静态代码块,实例代码块

Java类的五大成分:成员变量,成员方法,内部类,代码块,构造器

静态的东西只能有一份

代码块分为静态代码块和实例代码块

静态代码块和类一起加载,用于初始化静态资源

实例代码块和实例对象一起加载,用于初始化实例资源

2.final关键字

final修饰的类不能被继承
final修饰的方法不能被重写
final修饰的变量,有且只能赋值1词
final修饰静态变量==常量

关于权限大小

public > protected > 缺省 > private

小结:final修饰的东西就是断子绝孙,final修饰类,就是表示最后一代,不能再有子类了,不能再有子类继承它;

3.关于饿汉单例模式

使用单例的模板,只能创建一个对象;
饿汉单例模式,有且仅能创建一个对象;因此他直接将常量new 对象;通过方法返回
懒汉单例模式,有且仅有一个对象,如果被创建过了返回对象,否则创建对象

特点:构造器藏起来,private修饰;

3.1饿汉单例模式

class testEH{
    private static final testEH INSTANCE = new testEH();
    private testEH(){

    }
    static testEH getInstance(){
        return INSTANCE;
    }

}

3.2懒汉单例模式

class testLH{
    private static testLH INSTANCE = null;

    private testLH(){}

    static testLH getInstance(){
        if (INSTANCE==null)
            INSTANCE = new testLH();
        return INSTANCE;
    }
}

关于懒汉单例模式和饿汉有本质的区别;懒汉的实例定义为静态非常量;常量需要初始化赋值

4.线程池回顾

创建线程池的方式

ExecutorService pool = Executor.newCachedThreadPool();
pool.submit();		//里面传Callable和Runnable

其中Callable"受到请回复",可以收到线程任务的返回值,一般用Future来接,Future是Futuretask子类;

 Future s1 =  s.submit(new Callable<Object>() {
            @Override
            public Object call() throws Exception {
                return null;
            }
        });

4.1线程池底层的几个参数

5.枚举enum的复习

枚举enum第一行放常量;继承Enum;默认final修饰,因此不能被继承;第一行放的常量就是对象

6.修饰符权限

public > protected > 缺省 > private

public 本包以及其他包都可以访问

protected 只有本包下,其他包的子类可以访问

缺省 只能本包下访问

private 当且仅当本类访问

7.关于Date的复习

Java是高度面向对象的语言,使用Date来代表整个日期类

Date d = new Date()
Date d = new Date(long time)		//时间毫秒值构造器	

d可以直接打印,就是日期;

d也可以使用getTime()来获取时间毫秒值

Date小结:

是日期对象,可以操作时间毫秒值,可以获取当且对象;构造器两个可以将时间毫秒值传入

日期<------ ------> 时间毫秒值;

8.关于SampleDateformat回顾

用途可以格式化日期对象; sdf.format(); //返回值为String

用途可以将字符串类型日期转化为Date日期对象 sdf.parse(); //返回值为Date

构造器

在这里插入图片描述

用的最多的还是String;

也可以用getTime()方法获取时间毫秒值

小结:

字符串–>sdf–>通过parse–>Date–>通过getTime来操作时间毫秒值

​ |

​ —> 通过getTime() 操作时间毫秒值

9.关于日历

抽象类,不能直接创建对象;通过getInstance获取对象;单例模式,懒汉

让日历走很多天来用add方法

10.大数据类Decimal

目的:解决浮点数运算精度失真的问题;

大数据类的构造对象

BigDecimal a = BigDecimal.valueOf(Double x);

触发直接使用divide

计算完成转换回去使用doubleValue();
Double a1 = 0.11;
Double a2 = 0.3;
BigDecimal a = new BigDecimal(a1);
BigDecimal a3 = new BigDecimal(a2);

BigDecimal a4 = a.divide(a3);

double v = a4.doubleValue();

11.关于集合转数组

一定使用obj来接,toArray()

Object obj = set.toArray();

12.关于Set内容复习

linkedHashSet

有序不重复无锁印,因为一个练给它穿起来了

treehashset,按照元素升序,不重复无索引

看到tree,想想平衡二叉树

linkedhashset的有序是增加元素的顺序

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值