Java 베이스: Object 클래스 및 Date 클래스 개요

22174 단어

Object 클래스


java.lang.object 클래스
  • 는 클래스 차원 인터페이스의 근류이다.각 클래스는 Object를 상위 클래스로 사용합니다.
  • 모든 대상이 이런 방법을 실현한다.

  • Object 클래스의 메서드
    Person 클래스는 기본적으로 Object 클래스를 계승하기 때문에 Object 클래스의 toString 방법을 사용할 수 있습니다.
  • String toString()은 객체의 문자열 표현을 반환합니다.
  • 출력 대상 이름을 직접 출력하는 것은 사실 toString 방법을 호출하는 것이다.
  • 클래스가 Tostring 방법을 다시 썼는지 보고 이 대상을 직접 출력합니다. 결과가 주소 값이면 다시 쓰지 않고, 클래스의 변수라면 다시 씁니다.

  • Person 클래스는 기본적으로 Object 클래스를 계승하기 때문에 Object 클래스의 equals 방법을 사용할 수 있습니다.
  • boolean equals(Object obj){
  •   return(this == obj);
    
  • }
  • 매개 변수: Object obj: 임의의 객체를 전달할 수 있음
  • ==: 비교 연산자, 되돌아오는 것은 부울 값
  • 기본 데이터 형식에 대해 비교한 것은 값이다.
  • 인용 데이터 형식에 대해 비교한 것은 두 대상의 주소 값이다.
  • this의 값: 어느 대상이 호출하는 방법, 방법 중의this가 그 대상입니다.
  • 그러면 두 대상의 주소 값을 비교하면 일반적인 상황에서 아무런 의미가 없다.그래서 equals를 다시 쓰는 방법
  • 이 필요해요.
    우리는 equals 방법을 다시 써서 두 대상의 속성을 비교한다.
  • 문제: 다태적인 폐단을 내포하고 서브클래스 특유의 내용을 사용할 수 없음
  • Object obj = p2 = new Person('구리나자', 19).
  • 아래로 전환하여 obj류를 Person
  • 이라고 부른다.
    public class Demo01ToString {
    
        public static void main(String[] args) {
            Person per = new Person(" ",18);
    
            System.out.println(per);
            System.out.println(per.toString());
        }
    }
    public class Demo02Equals {
        public static void main(String[] args) {
            Person p1 = new Person(" ",15);
            Person p2 = new Person(" ",18);
            boolean a = p1.equals(p2);
            boolean a1 = Objects.equals(p1,p2);
            System.out.println(a);
            System.out.println(a1);
        }
    }
    package demo;
    import java.util.Objects;
    public class Person {
        private String name;
        private int age;
        public Person() {
        }
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
    //    @Override
    //    public String toString(){
    //        String s = " :" + name + " :" + age;
    //        return s;
    //    }
        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    '}';
        }
        @Override
        public boolean equals(Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            Person person = (Person) o;
            return age == person.age && Objects.equals(name, person.name);
        }
        @Override
        public int hashCode() {
            return Objects.hash(name, 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;
        }
    }
    

    Date 클래스


    java.util.Date: 날짜와 시간을 나타내는 클래스 Date는 특정한 순간을 표시하고 밀리초까지 정확합니다
  • ms: 1000ms=1초;
  • 밀리초 값은 시간과 날짜를 계산할 수 있으며, 날짜를 밀리초로 바꿀 수도 있고, 계산이 끝나면 밀리초로 바꿀 수도 있다.

  • 날짜를 밀리초로 변환하기
  • 현재 시간: 2020-7-30
  • 시간 원점: 1970-1-1 00.00.00(영국 그리니치)은 현재 날짜부터 시간 원점까지 모두 몇 밀리초의 시간을 겪는지 계산하는 것이다. 주의: 중국은 동팔구에 속하고 시간은 8시간 증가한다.

  • 밀리초 회전 시간:
  • 1일: = 60 * 60 * 24 = 86400초 = 86400000ms
  • java.text.DateFormat: 날짜 시간 형식화된 하위 클래스
  • 작용:
  • 서식(날짜-> 텍스트), 해석(텍스트-> 날짜)
  • 구성원 방법:
  •   String format(Date date)  , Date , 
    
  •   Date parse(String source) , Date 。
    

  • DateFormat 클래스는 추상적인 클래스로 대상을 직접 만들어서 사용할 수 없으며, 그의 하위 클래스java를 사용해야 합니다.text.SimpleDateFormat(String pattern) 매개변수:
  • String pattern: 지정된 패턴 전달(대소문자 구분)
  • Y

    M
    월 단위
    d

    H
    시간
    m

    s
    초 단위
  • 대응하는 모드를 쓰면 대응하는 날짜와 시간으로 바꿉니다.
  • "yyy-MM-dd HH:mm:ss"(모드의 자모는 바꿀 수 없고 링크 모드의 기호는 바꿀 수 있음)
  • public class Demo01Date {
       public static void main(String[] args) {
    //        System.out.println(System.currentTimeMillis());// 1970.1.1 
           demo03();
       }
       //Date ,Date() 
       private static void demo01() {
           Date date = new Date();
           System.out.println(date);
       }
    
       //Date ,(long date) , 
       private static void demo02() {
           Date date = new Date(0L);
           System.out.println(date);
    
       }
       // ,getTime() , System.currentTimeMillis()
       private static void demo03(){
           Date date = new Date();
           long time = date.getTime();
           System.out.println(time);
       }
    }
    

    Date 클래스의 방법 사용


    DateFormat 클래스의 메서드 parse를 사용하여 텍스트를 날짜로 해석하려면 다음 절차를 따르십시오.
  • 1.SimpleDateFormat 객체 만들기, 구성 방법에서 지정된 패턴 전달
  • 2.SimpleDateFormat 객체의 메서드 parse를 호출하여 구성 메서드의 패턴에 맞는 문자열을 Date 날짜로 해석합니다.

  • 참고: String source throws Parse Exception
  • parse 방법은 ParseException
  • 이라는 이상한 것을 성명하였다.
  • 문자열과 구조 방법의 패턴이 다르면 프로그램에서 이 이상을 던집니다
  • 이상을 던지는 방법을 사용하고 이상을 처리하는 두 가지 방법: 1.throws 버퍼링 이상 2.try catch 자체 처리
  • DateFormat 클래스의 메서드 format을 사용하여 날짜를 텍스트로 해석하려면 다음 절차를 따르십시오.
  • 1.SimpleDateFormat 객체 만들기, 구성 방법에서 지정된 패턴 전달
  • 2.SimpleDateFormat 대상의 방법format을 호출하여 구조 방법에서 지정한 패턴에 따라 Date 날짜를 일치하는 문자열로 포맷합니다
  • public class Demo02DateFormat {
        public static void main(String[] args) throws ParseException {
            demo02();
        }
    //     DateFormat format, 
        private static void demo02() {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date = new Date();
            String s = sdf.format(date);
            System.out.println(s);
            System.out.println(date);
        }
        //     DateFormat parse, 
        private static void demo01() throws ParseException {
            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date = sf.parse("2020-7-31 10:19:30");
            System.out.println(date);
        }
    }
    

    좋은 웹페이지 즐겨찾기