A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Object类: toString方法
知识点:
Object类的特点:1. 是类层次的根类. 每个类都(直接或间接地)使用Object类作为父类2. 所有类的对象都可以使用Object类中定义的方法public Boolean toString()     返回该对象的字符串表示
重写object类equals方法
object类的equals方法默认比较的是两个对象的地址值,没有意义
所以我们需要重写equals方法,比较两个对象的属性值(name, age)
两个对象的属性值相同,返回true,否则返回false
问题:
隐含着一个多态
object obj =p2 =new Person("古力娜扎", 18);
多态弊端:无法使用子类特有的内容(属性,方法)
解决:可以使用向下转型(强转)把object类型转换为Person
Person p = (Person)obj;
//比较两个对象的属性,一个是调用方法的this(p1),一个就是p(obj=p2)
boolean b= this.name.equals(p.name) && this.age==p.age;
return b;
}


//不是Person类型直接返回false
return false;

日期时间相关的类
各自的优点
Long :可以进行数学运算
Date :桥梁
String:简明易懂
Calendar:可以方便修改其中的字段以及 倒退几天
Long
System,currenTimeMillis()  // 获取当前系统时间与时间原点之间经历了多少毫秒


各自的优点
Long :可以进行数学运算
Date :桥梁
String:简明易懂
Calendar:可以方便修改其中的字段以及 倒退几天
Long
System,currenTimeMillis()  // 获取当前系统时间与时间原点之间经历了多少毫秒
1ong和Date对象互转
利用Date
Date(long millis): long转Date
long getTime(): Date转long
string和Date对象互转
利用SimpleDateFormat
Date parse(String s): String转DateString format (Date): Date转stringCalendar对象和Date对象互转
利用calendar
Date getTime(): Calendar转Date
void setTime (Date d): Date转ca lendar1ong和Date对象互转
利用Date
Date(long millis): long转Date
long getTime(): Date转long
string和Date对象互转
利用SimpleDateFormat
  Date parse(String s): String转DateString format (Date): Date转stringCalendar对象和Date对象互转
利用calendar
   Date getTime(): Calendar转Date
   void setTime (Date d): Date转calendar




Date类   
  //表示特定的瞬间,精确到“毫秒”
带参构造:Date(long date)    //获取指定毫秒值的时间
无参构造:Date()           //获取当前系统时间


成员方法:long gettime()      //把日期转换为毫秒
  void settime()      //修改date对象的时间Date类     //表示特定的瞬间,精确到“毫秒”
带参构造:Date(long date)    //获取指定毫秒值的时间
无参构造:Date()           //获取当前系统时间


成员方法:long gettime()      //把日期转换为毫秒
  void settime()      //修改date对象的时间


DateFormat类和SimpleFormat类
//DateFormat为抽象类,不能直接
所以需要常用的子类SimpleateFormat ,这个类要-个模式(格式)来指定格式化或解析的标准。构造方法为:
public SimplebateFormat(String pattern) :用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat.
参数pattern是一个字符串,代表日期时间的自定义格式。
     常用成员方法:
        String format(Date deate):格式化,从Date对象转换为String对象
        Date parse(String source):解析,从String对象转换为Date对象


        //SimpleDateFormat类
构造方法
SimpleDateFormat(String pattern)    :用给定的模式和默认语言环境的日期格式符号创建对象
常用模式:可在SimpleDateFormat类中查看
y:年
M:月
d:日
H:时(24小时制)
m: 55:秒
E:星期
D:年中的天
K:小时(12小时制)
S:毫秒
示例: "yyy--d E H:m:.s"


string format (Date date):格式化,从Date对象转换为String对象
例如, SimpleDateFormat对象的模式是: "yyyyMAddB HH:mm:55"那么,将Date格式化后就可以是这种样子: 2018年01月02日 03:04:05
Date parse (String source):解析,从String对象转换为Date对象例如, SimpleDateFormat对象的模式是: "yyy-MM-dd""
要解析为Date对象的字符串必须符合模式: 2000-01-02
练习--计算出一个人已经出生了多少天
[Java] 纯文本查看 复制代码
public class Test {
    public static void main(String[] args) throws ParseException {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入您的生日,格式:yyyy-MM-dd");
        String birthDay=input.next();
        //使用Dateformat中的parse方法,把字符串中的出生日期解析为date格式
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Date birthDate=sdf.parse(birthDay);
        //转化为毫秒值
        long birthDateTime=birthDate.getTime();
        long todayTime=new Date().getTime();
        long time=todayTime-birthDateTime;
        //转化为天数
        System.out.println("您已经出生了"+(time/1000/60/60/24)+"天");
    }
}public class Test {
    public static void main(String[] args) throws ParseException {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入您的生日,格式:yyyy-MM-dd");
        String birthDay=input.next();
        //使用Dateformat中的parse方法,把字符串中的出生日期解析为date格式
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Date birthDate=sdf.parse(birthDay);
        //转化为毫秒值
        long birthDateTime=birthDate.getTime();
        long todayTime=new Date().getTime();
        long time=todayTime-birthDateTime;
        //转化为天数
        System.out.println("您已经出生了"+(time/1000/60/60/24)+"天");
    }
}


Calender类
//getInstance()
//静态成员变量
tatic int EAR  年份static int MONTH  :月份,注意月份数值是0-11static int DAY_OF-MONTH :日期tatic int HOUR  :小时(12小时制)static int HOUR_OF-DAY :小时(24小时制).static int MINITE :分钟static int SECOND:秒//非静态成员方法 2018 09 11int get (int field):获取指定日历字段的值 int date = cal. get (ca lendar . DAY_OFMONTH)void set (int field, int value):修改指定日历字段为指定的值void set (int year, int month, int date):快速设置年月日void add(int field, int amount):调整指定日历字段的值,正数增加,负数减少Date getTime(): Calendar转Datevoid setTime (Date d): Date转calendar














0 个回复

您需要登录后才可以回帖 登录 | 加入黑马