Java入门-10、Object类认识与使用、Date类以及包装类

Object类

1、认识与了解Object类(顶级父类)

  • java.lang.Object 类是Java语言中的根类,即所有类的父类。
  • 它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。
  • 如果一个类没有特别指定父类, 那么默认则继承自Object类

 2、根据JDK源代码及Object类的API文档

比较常见的两种方法:

  • public String toString();返回对象字符串表示
  • public boolean equals(Object obj);判断该对象与其他对象内容是否相同

toString方法:

如果一个类没有重写Object类中的toString方法,则调用默认的Object类的toString方法,返回一个地址值

如果重写了toString方法,则直接调用重写后的toString方法

​
public class Student {
private String name;
private int age;
@Override
//重写后的
public String toString() {
return "Student{" + "name='" + name + '\'' + ", age=" + age + '}';
}

}

​

equals方法:

不重写Object类中的equals方法,则默认调用Object类中的equals方法,比较地址值

重写Object类的equals方法,则直接调用的是重写后的equals方法

import java.util.Objects;
public class Student {
private String name;
private int age;
@Override
public boolean equals(Object o) {
// 如果对象地址一样,则认为相同
if (this == o)
return true;
// 如果参数为空,或者类型信息不一样,则认为不同
if (o == null || getClass() != o.getClass())
return false;
// 转换为当前类型  向下转型
Student stu = (Student) o;
// 要求基本类型相等,并且将引用类型交给java.util.Objects类的equals静态方法取用结果
return age == stu.age && Objects.equals(name, stu.name);
}
}

Date类

java.util.Date

类Date表示特定的瞬间,精确到毫秒

作用:表示时间   测试代码的运行效率

获取毫秒 : System.currentTimeMillis()

public class Test {
    public static void main(String[] args) {

        long start = System.currentTimeMillis();
        for(int i=0;i<1000;i++){
            System.out.println("HelloWorld!");
        }

        long end =System.currentTimeMillis();

        long time =end -start;
        System.out.println("耗时"+time+"毫秒");
    }
}
import java.util.Date;

public class Test {
    public static void main(String[] args) {
        //Date的使用  获取当前时间
        Date date =new Date();
        System.out.println(date);

        //根据毫秒值获取时间
        Date date1 = new Date(10000000L);
        System.out.println(date1);

        //将日期对象转换成对应的毫秒值
        long time = date.getTime();
        System.out.println(time);
        Date date2 = new Date(time);
        System.out.println(date2);

        method();
    }

    private static void method() {
        Date date =new Date();
        //把方法参数给定的毫秒值设置给日期对象
        date.setTime(123456789L);
        System.out.println(date);

    }
}

Dateformat类 (日期格式化)

java.text.DateFormat

public class Test {
    public static void main(String[] args) throws ParseException {

        //将当前日期转换为字符串
        DateFormat df = new SimpleDateFormat("yyyy‐MM‐dd"); 
        String s = df.format(new Date());
        System.out.println(s);
       
        //将字符串转换为日期对象
        DateFormat format = new SimpleDateFormat("yyyy/MM/dd");
        Date d = format.parse("1949/10/01");
        System.out.println(d);
    }
}

Calendar类 (详情参照java-api文档

Calendar 为抽象类,不能直接创建对象,而是通过静态方法创建,返回子类对象
Calendar 静态方法
public static Calendar getInstance() :获得一个日历
 
public int get(int field) :返回给定日历字段的值。
public void set(int field, int value) :将给定的日历字段设置为给定值。
public abstract void add(int field, int amount) :根据日历的规则,为给定的日历字段添加或减去指
定的时间量。
public Date getTime() :返回一个表示此 Calendar 时间值的 Date 对象。
import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;

public class Test {
    public static void main(String[] args) throws ParseException {

        // 创建Calendar对象
        Calendar cal = Calendar.getInstance();
        System.out.println(cal);//显示日历字段
        // 获取年
        int year = cal.get(Calendar.YEAR);
        //设置年份为2020年
        cal.set(Calendar.YEAR, 2030); //将年份修改为2000
        cal.add(Calendar.YEAR, -30);
        //将日历对象转换为日期对象
        Date d = cal.getTime();
        System.out.println(d);
    }
}

Math类(详情参照java-api文档)

/*
    Math:数学类
         特点:所有的方法都是静态的
*/


public class Test {
    public static void main(String[] args){
//        public static int   max(int a,int b)返回两个int值中的较大值
        System.out.println(Math.max(10,20));
//        public   static int min(int a,int b)返回两个int值中的较小值
        System.out.println(Math.min(10,20));
//        public static int   abs(int a)返回参数的绝对值
        System.out.println(Math.abs(-20));
//        public static double ceil(double a)返回大于或等于参数的最小double值,等于一个整数
        System.out.println(Math.ceil(13.14));
//        public static double floor(double a)返回小于或等于参数的最大double值,等于一个整数
        System.out.println(Math.floor(3.14));
//        public   static int round(float a)按照四舍五入返回最接近参数的int
        System.out.println(Math.round(4.5));
    }
}

包装类:

包装类就是基本数据类型的引用类型

基本类型对应的包装类
byteByte
shortShort
intInteger
long Long
floatFloat
doubleDouble
charCharacter
booleanBoolean

 

 

 

 

 

 

 

装箱与拆箱
 
基本类型与对应的包装类对象之间,来回转换的过程称为“ 装箱” 与“ 拆箱”
装箱  :从基本类型转换为对应的包装类对象。
拆箱  :从包装类对象转换为对应的基本类型。
public class Test {
    public static void main(String[] args) {
        //装箱:
        Integer integer = new Integer(4);//将基本数据类型装箱,转成包装类对象
        int num = integer.intValue();//拆箱,包装类转成基本数据类型


        Integer i = 4;//自动装箱。相当于Integer i = Integer.valueOf(4);
        i = i + 5;//等号右边:将i对象转成基本数值(自动拆箱)i.intValue() + 5;
        // 加法运算完成后,再次装箱,把基本数值转成对象。
    }
}
String 转换成基本类型
常见方法:(详情参照java-api文档)
public static int parseInt(String s) :将字符串参数转换为对应的 int 基本类型。
 
public static double parseDouble(String s) :将字符串参数转换为对应的 double 基本类型。
 
public class Test {
    public static void main(String[] args) {
        String s ="100";
        Integer i = Integer.parseInt(s);
        System.out.println(i);

        String s1="10.01";
        Double d =Double.parseDouble(s1);
        System.out.println(d);
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TorlesseLiang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值