Ein Memorandum, um den juckenden Ort für Java Gold zu erreichen

2017/02/09 Uhrzeit und Datum hinzugefügt

Ziel

Diejenigen, die auf JavaGold abzielen Diejenigen, die javaSilver verstehen

Überblick

Konzentrieren Sie sich auf die Teile, die dort erreicht werden können, wo es juckt Innere Klasse oder anonyme Klasse Da es auch als Memorandum dient, verzeihen Sie bitte Kommentare und Tippfehler in Variablennamen (lacht). Wird von Zeit zu Zeit aktualisiert static

static_.java


public class static_ {
    int x;
    static int y;

    //Zugriff auf statische Instanzen über dynamische Methoden
    void doA(){
        x=1; //OK
        y=2; //OK
    }

    static void doB(){
//        x=1; //NG
        y=2; //OK
    }
}

final

final_.rjava


//letzte Klasse
//Nicht vererbbar
final class final_{

    //letztes Feld
    //Kann nicht neu zugewiesen werden
    final int x = 0;

    //endgültige Methode
    //Kann nicht überschrieben werden
    final void doIt() {

        //letzte lokale Variable
        //Kann nicht neu zugewiesen werden
        final int y = 1;

        //Unten Kompilierungsfehler
        /*
        x = 10;
        y = 10;
    }
}
class temp extends finalMethod {

    @Override
    public void doIt(){

    }
    */
    }
}

abstract

abstract_.rjava


abstract class A{
    void X (){};
    abstract void y();
//    void Z(); //Stellen Sie sicher, dass Sie eine Zusammenfassung hinzufügen
}
/*NG abstrakte Klasse muss fest implementiert sein
public class B extends A{
}
*/

//OK
abstract class C extends A{
    void y(){
        System.out.println("###");
    }
}

Innere Klasse

naibu.java


public class naibu {

    //Unten verschachtelte Klasse

    //① statische Menba-Klasse
    static class X {}

    //② Mitgliederklasse
    private class Y{}

    void doIt(){
        //③ Lokale Klasse
        class Z{}
    }

    //Innere Klasse anrufen
    public static void main(String args[]){

        Outer.Inner in = new Outer().new Inner();
        in.doIt();

        Outer.Inner.Inner2 in2 = new Outer().new Inner().new Inner2();
        in2.doIt();
    }
}

class Outer{

    public class Inner{

        public void doIt(){
            System.out.println("Outer->Inner");
        }

        public class Inner2{
            public void doIt(){
                System.out.println("Outer->Inner->Inner2");
            }
        }
    }
}

Schnittstelle Standard / statisch

interface_.java


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

        //statische Methode
        Bar bar = new Bar();
        Foo.doA();
//        Bar.doA();//NG-Implementierungsklasse → für statische
//        bar.doA();//NG-Implementierungsklasse → für statische

        //Standardmethode
        bar.doB();

    }
}

interface Foo {
    //Intern qualifiziert mit öffentlichem statischem Finale
    int interfaceMenba =10;
    public static final int interfaceMenba2 = 10;

    //Gewöhnliche abstrakte Methode
    //Intern qualifiziert mit öffentlichem Abstract
    void doZ();

    //statische Methode
    static void doA() {
        System.out.println("static");
    }

    //Standardmethode
    default void doB() {
        System.out.println("default");
    }


}
class Bar implements Foo {
     public void doZ(){
        System.out.println("doZ");
    }
}

Anonyme Klasse

anonymous.java


public interface anonymous {
    public void doIt();
}

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

        //Wird gleichzeitig mit der Deklaration durch die anonyme Klasse implementiert(Nicht laufen)
        anonymous A = new anonymous() {
            public void doIt() {
                System.out.println("Deklarieren einer Klasse mit einer anonymen Klasse");
            }
        };

        //Führen Sie es der Einfachheit halber einfach aus
        new anonymous(){
            public void doIt(){
                System.out.println("Ausführung durch anonyme Klasse");
            }
        }.doIt();
        //↑ Das ist der Punkt
    }
}

Aufzählungstyp

rekkyo.java


public class rekkyo {
    //Verschachtelter Aufzählungstyp
    public enum singou {
        GREEN, RED, YELOW
    }

    public static void main(String[] args) {
        //Zählen Sie alle Aufzählungstypen auf
        for (singou2 s : singou2.values()) {
            System.out.println(s.name() + "#");
        }

        //Aufzählungstypdeklaration und Feldreferenz
        Souldout so = Souldout.bro_hi;
        System.out.println(so.getV() + "#" + so);
    }
}

//Aufzählung der obersten Ebene
enum singou2 {
    GREEN, RED, YELOW;
    //Variablen / Methoden können in den Aufzählungstyp eingefügt werden
    private int a;
    public int b;

    public int add(int a, int b) {
        return a + b;
    }

}

enum Souldout {
    //Aufzählungstyp mit Konstruktor ↓
    diggy_mo(2), sinnosuke(3), bro_hi(5);
    private int nenrei;

    //Der Konstruktor muss privat sein
//    public Souldout(){
//    }
    private Souldout() {

    }

    private Souldout(int v) {
        this.nenrei = v;
    }

    public int getV() {
        return nenrei * 100;
    }
}

//Es ist möglich, eine Schnittstelle zu implementieren
interface temp {
    void doItIt();
}
enum singou3 implements temp {
    GREEN, RED, YELOW;

    public void doItIt() {
        System.out.println("####");
    }
}

//Eine Klassenvererbung ist jedoch nicht möglich
class temp2 {
    int a;
}
/*
enum singu4 extends temp2{
}
*/

Zeit Datum

Update 2017/02/06

DATE.java


import java.time.*;
import java.time.temporal.ChronoUnit;
import java.time.temporal.Temporal;
import java.time.temporal.TemporalAccessor;

import static java.time.temporal.ChronoUnit.DAYS;
import static java.time.temporal.ChronoUnit.MONTHS;
import static java.time.temporal.ChronoUnit.WEEKS;

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

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //LocalDate / LocalDateTime
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Es gibt die folgenden Methoden zum Erstellen einer Instanz
        LocalDate ld = LocalDate.now();
        ld = LocalDate.of(2016, Month.MARCH,10); //  Month.MARCH ⇔ 2
        ld = LocalDate.parse("2016-12-12");
        //ld = new LocalDate();                //NG

        LocalDateTime ldt = LocalDateTime.now();

        //isBefore-Methode
        //isAfter-Methode
        //System.out.println(ldt.isAfter(ld));  //NG LocalDate und LocalDateTime
        //System.out.println(ld.isAfter(ldt));  //NG LocalDateTime und LocalDate
        System.out.println(LocalDate.now().isAfter(ld)); //OK

        //ldt = LocalDateTime.from(ld);  //Zeitinformationen sind erforderlich, um von NG LocalDate zu LocalDateTime zu wechseln!
        ld = LocalDate.from(ldt);       //OK LocalDateTime bis LocalDate benötigen keine Zeitinformationen

        System.out.println(ldt.plus(5,MONTHS)
                + "#" + ldt.minus(365,DAYS)
                + "#" + ldt.until(ldt.plus(10,WEEKS),WEEKS));

        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Temporal ←(Erbe)― TemporalAccessor ←(Implementierung)― ChronoUnit
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
        TemporalAccessor ta =ChronoUnit.DAYS.addTo(LocalDate.now(),10);
        Temporal t =ChronoUnit.DAYS.addTo(LocalDate.now(),10);

        //LocalDateTime und LocalDateTime sind nicht kompatibel
        //long days = ChronoUnit.DAYS.between(LocalDateTime.now(),LocalDate.now().plus(5,DAYS));  //NG
        long days = ChronoUnit.DAYS.between(LocalDate.now(),LocalDate.now().plus(5,DAYS));          //OK

        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Zeitraum Stellt den Zeitraum des Datums dar
        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        Period p = Period.between(LocalDate.now(),LocalDate.now().plus(5,WEEKS));
        //Siehe den Inhalt von Periode
        System.out.println(p.getDays());
        //Sie können Perioden auch Perioden hinzufügen / entfernen
        Period newP = p.minusDays(10);
        //Kann zum Zeitraum hinzugefügt oder von diesem abgezogen werden
        LocalDate ld2 =(LocalDate) p.addTo(ld);
        ld2 =(LocalDate) p.subtractFrom(ld);
        //Addition / Subtraktion zwischen Perioden ist ebenfalls möglich
        Period p2 = p.plus(Period.ofDays(5));
        Period p3 = p.minus(Period.ofDays(5));

        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Dauer Stellt die Dauer des Datums dar
        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        Duration d = Duration.between(LocalDateTime.now(),LocalDateTime.now().plusDays(1));
        System.out.println(d);
        d = Duration.of(1,ChronoUnit.MINUTES);
        System.out.println("nanos" + d.getNano());
        System.out.println("seconds" + d.getSeconds());

        DateTimeFormatter dtf_bid = DateTimeFormatter.BASIC_ISO_DATE;
        DateTimeFormatter dtf_idt = DateTimeFormatter.ISO_DATE_TIME;
        DateTimeFormatter dtf_ii = DateTimeFormatter.ISO_INSTANT;
        DateTimeFormatter dtf_original = DateTimeFormatter.ofPattern("yyyy_MM_dd_hh_mm_ss"); //Definieren Sie Ihr eigenes Anzeigeformat

        System.out.println(
                dtf_bid.format(LocalDateTime.now())
                + "#" +dtf_idt.format(LocalDateTime.now())
                //+ "#" + dtf_ii.format(LocalDateTime.now())  //NG
                + "#" + dtf_original.format(LocalDateTime.now()));


        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Sofort Eine Klasse mit kumulativen Sekunden, Millisekunden und Nanosekunden ab einem bestimmten Zeitpunkt
        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Was ist ein bestimmter Punkt ↓
        System.out.println(Instant.EPOCH);  //1. Januar 1970 0:00:00

        //Bekomme Instanz
        Instant i1 = Instant.ofEpochMilli(51455414);
        Instant i2 = Instant.ofEpochSecond(51455414);
        Instant i3 = Instant.ofEpochSecond(51455414,2515);  //Das zweite Argument ist Millisekunde
        //Instant instant = Instant.from(LocalTime.now());   //NG Unsupported

        //Erfassung von Sekunden, Millisekunden und Nanosekunden
        System.out.println(Instant.now().getEpochSecond());  //get
        System.out.println(Instant.now().toEpochMilli());    //to (Warum ist das alles zu?)
        System.out.println(Instant.now().getNano());         //get

        System.out.println(Instant.ofEpochMilli(500000));

        //Von verschiedenen zeitlichen bis zu sofortigen
        //Von OffsetDateTime bis Instant()Reinkommen
        OffsetDateTime odt = OffsetDateTime.now();
        System.out.println(odt.toInstant());
        //Von ZonedDateTime zu Instant()Reinkommen
        System.out.println(ZonedDateTime.now(ZoneId.systemDefault()).toInstant());
        //LocalDate hat keinen Versatz, daher müssen Sie ihn bei der Berechnung des Augenblicks festlegen
        System.out.println(LocalDateTime.now().toInstant(ZoneOffset.UTC));
    }
}

Recommended Posts

Ein Memorandum, um den juckenden Ort für Java Gold zu erreichen
So überprüfen Sie den Inhalt der Java-Zeichenfolge mit fester Länge
Einführung in Java zum ersten Mal # 2
Über das Verfahren, damit Java funktioniert
[Java] (für MacOS) Methode zur Einstellung des Klassenpfads
Hinweise zur Java8 Gold-Prüfung
Ein Hinweis zum Initialisieren von Feldern im Java-Lernprogramm
Wie erstelle ich einen MOD für Slay the Spire?
Was Java-Ingenieure benötigen, um sich auf die Java 11-Version vorzubereiten
So erstellen Sie ein leichtes Container-Image für Java-Apps
Erstellen Sie eine Methode, um den Steuersatz in Java zurückzugeben
[Für Anfänger] Über die von Java Gold erklärte JavaScript-Syntax
Wiedereinführung in Java for Humanities 0: Den Akt der Programmierung verstehen
Eingabe in die Java-Konsole
Ein Memorandum, wenn Sie die von Jena & SPARQL erfassten Daten für jede Variable anzeigen möchten.
Wie gehe ich mit dem Typ um, den ich 2 Jahre lang über das Schreiben eines Java-Programms nachgedacht habe?
Mechanismus zum Konvertieren in eine Sprache, die der Browser erkennen kann
Cheet Sheet für Java-erfahrene Leute, um Ruby (Rails) zu lernen
[Java] Das Hinzufügen eines Elements zur Sammlung führt zu einem Kompilierungsfehler
Herstellen einer Verbindung zu einer Datenbank mit Java (Teil 1) Möglicherweise die grundlegende Methode
So erhalten Sie den Inhalt von Map mithilfe des for-Anweisungsmemorandums
Ersetzen Sie durch einen Wert entsprechend der Übereinstimmung mit einem regulären Java-Ausdruck
Erstellt eine Methode zum Anfordern von Premium Friday (Java 8-Version)
[Java] Ich habe versucht, mit der Grabmethode ein Labyrinth zu erstellen ♪
kotlin & Java: So blenden Sie die Symbolleiste nur für bestimmte Fragmente aus
Wie man einen revolutionären Diamanten mit Java für Aussage macht wwww
Ein Memorandum zum Schreiben von schönem Code
[java8] Um die Stream-API zu verstehen
So erstellen Sie einen Java-Container
Ein Memorandum über das FizzBuzz-Problem
Willkommen im Sumpf der Java-Bibliotheken! !!
Der Weg von JavaScript nach Java
So erstellen Sie ein Java-Array
Die Geschichte, zu vergessen, eine Datei in Java zu schließen und zu scheitern
[Java] So drehen Sie ein zweidimensionales Array mit einer erweiterten for-Anweisung
[Java small story] Überwachen Sie, wann der Liste ein Wert hinzugefügt wird
[Java] Wie man mit der String-Klasse an die Spitze eines bestimmten Strings kommt
So ermitteln Sie den absoluten Pfad eines in Java ausgeführten Verzeichnisses
[Java-Verbesserungsfall] Wie man die Grenze des Selbststudiums und darüber hinaus erreicht
[Java] [Für Anfänger] So fügen Sie Elemente direkt in ein zweidimensionales Array ein
[AWS SDK für Java] Legen Sie die Wiederholungsrichtlinie für den S3-Client fest
Richten Sie eine Java-GUI in einem separaten Thread ein, um die Haupt-GUI beizubehalten
[Java: Memorandum] Bis der Zeilenvorschubcode CRLF in LF geändert wird
Als ich eine Methode für Premium Friday erstellen wollte, war sie bereits in der Java 8-Standard-API enthalten
Ich habe ein Programm erstellt, das aus dem mit Java überladenen Prozess nach der Zielklasse sucht
So erstellen Sie eine Java-Kalenderzusammenfassung
Ein Memorandum zur Verwendung von Eclipse
Überprüfen Sie die Notizen für die Klasse java.util.Scanner
[Java] Verwendung der File-Klasse
Java-Referenz zum Verständnis in der Abbildung
Ein Memorandum für Anfänger der Android-Anwendungsentwicklung
Der Weg zur Erstellung eines Soundspiels 2
Java SE8 Silber ~ Der Weg zum Pass ~
[Erstellen] Ein Memorandum über das Codieren in Java
[Einführung in Java] So schreiben Sie ein Java-Programm
[Java] Verwendung der toString () -Methode
So erstellen Sie ein Maven-Repository für 2020
Java Programming Style Guide für die Java 11-Ära