学习Java必备的基础知识打卡12.16,要想学好必须扎实基本功(⭐建议收藏)#yyds干货盘点#

Posted java厂长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习Java必备的基础知识打卡12.16,要想学好必须扎实基本功(⭐建议收藏)#yyds干货盘点#相关的知识,希望对你有一定的参考价值。

Day22-Java之对象克隆和Date类

@[toc]

关于作者

• 作者介绍

克隆就是对象复制的一个概念,不过这种概念一般使用的比较少,因为很少有人去复制已经存在的对象。Object类本身就支持对象克隆方法。可以发现protected Object clone() throws CloneNotSupportedException;我们要想实现克隆,那么我们并不是所有类的对象可以随便克隆,需要被克隆的对象所在类一定要实现Cloneable接口,而最关键的是该接口并没有任何的抽象方法,所以该接口只是一个标识接口,表示一种能力。

package com.day13.demo;
class Per implements Cloneable//必须实现此接口
    private String name;
    private int age;
    public Per(String name, int age) 
        super();
        this.name = name;
        this.age = age;
    
    public String getName() 
        return name;
    
    public void setName(String name) 
        this.name = name;
    
    public int getAge() 
        return age;
    
    public void setAge(int age) 
        this.age = age;
    
    @Override
    public String toString() 
        return "Per [name=" + name + ", age=" + age + "]";
    
    @Override
    //覆写权限扩大  protected 扩大到 public
    public Object clone() throws CloneNotSupportedException 
        // TODO Auto-generated method stub
        return super.clone();//父类负责克隆
    

public class CloneDemo 
    public static void main(String[] args) throws Exception
         Per perA = new Per("kaco",12);
         //perA.clone();不能在这写的原因是因为此方法是protected权限 只能在不同包的子类中实现此方法
         Per perB = (Per) perA.clone();
         perB.setAge(100);
         System.out.println(perA);
         System.out.println(perB);
    

意义不大,需要清楚表示接口的作用,表示的是一个能力。

Date类

日期数据类型一定要重视,所有的开发必定要有日期。

日期处理类—Date类

java.util.data类是在整个程序处理之中唯一可以取得日期当前日期实例化对象的操作方法,也就是说我们要取出当前日期输出Date类对象即可。

package com.day13.demo;

import java.util.Date;

public class DateDemo1 
    public static void main(String[] args) 
        Date date = new Date();
        //Tue Aug 17 17:01:50 CST 2021
        System.out.println(date);
    

在Date类中最需要关心的一个核心问题:long可以描述日期,看了一通过Date类中提供的方法来进行观察。

方法名称 类型 描述
public Date(long date) 普通 将long类型变为Date类型数据
public long getTime() 普通 将Date类型变为long类型数据
package com.day13.demo;

import java.util.Date;

public class DateDemo1 
    public static void main(String[] args) 
        long num = System.currentTimeMillis();
        System.out.println(new Date(num));
        System.out.println(new Date(num).getTime());
    

这中简单的转换在以后的程序开发经常会使用。

日期格式化—SimpleDateFormat类(核心)

虽然Date可以取得当前的日期时间,但是取出的结构不是我们所喜欢的格式,这时候就需要我们进行格式的转化,使用的是java.text包

但是日期格式里面需要设置一些日期标记:年(YYYY)、月(MM)、日(dd)、时(HH)、分(mm)、秒(ss)、毫秒(SS);

package com.day13.demo;

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateDemo1 
    public static void main(String[] args) 
        Date date = new Date();
        String str = "YYYY-MM-dd HH:mm:ss";
        SimpleDateFormat sdf = new SimpleDateFormat(str);
        String dateFromat = sdf.format(date);
        System.out.println(dateFromat);
    
package com.day13.demo;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateDemo2 
    public static void main(String[] args) throws ParseException
        Date date = new Date();
        System.out.println(date);
        String str = "yyyy-MM-dd HH:mm:ss";
        SimpleDateFormat sdf = new SimpleDateFormat(str);
        //将Date类型转化为字符串类型
        String newdateStirng = sdf.format(date);
        System.out.println(newdateStirng);
        //将字符串转化为Date类型
        Date newdate = sdf.parse(newdateStirng);
        System.out.println(newdate);
    

以上是关于学习Java必备的基础知识打卡12.16,要想学好必须扎实基本功(⭐建议收藏)#yyds干货盘点#的主要内容,如果未能解决你的问题,请参考以下文章

学习Java必备的基础知识打卡12.27,要想学好必须扎实基本功(⭐建议收藏)#yyds干货盘点#

学习Java必备的基础知识打卡12.19,要想学好必须扎实基本功(⭐建议收藏)#yyds干货盘点#

学习Java必备的基础知识打卡12.22,要想学好必须扎实基本功(⭐建议收藏)#yyds干货盘点#

学习Java必备的基础知识打卡12.23,要想学好必须扎实基本功(⭐建议收藏)#yyds干货盘点#

学习Java必备的基础知识打卡12.7,要想学好必须扎实基本功(⭐建议收藏)#yyds干货盘点#

学习Java必备的基础知识打卡12.29,要想学好必须扎实基本功(⭐建议收藏)#yyds干货盘点#