Waarom heb ik puller nodig?

Hugo van Wijk

Omdat de trekker eenvoudig kan worden vervangen om verschillende platforms te ondersteunen. Waarom niet gewoon veranderen de trekker te bouwen met Java 8? Het antwoord is hetzelfde: Vanwege het feit dat de Java 8 specificatie is niet zo goed begrepen en de beste manier om dit probleem op te lossen is niet om het te schrijven in code, maar om documentatie te maken. Documentatie is toegankelijker en gemakkelijker te onderhouden.

Dit artikel gaat over het tweede aspect. Om Java 8 te begrijpen, moet je eerst de Java 7-specificatie begrijpen. Het werd geschreven op het moment van de lancering van Java 7 en het was zeer goed. Ik geef je een kort overzicht van het hier. Het eerste belangrijke aspect van Java 7 is ondersteuning voor reflectie en statische typen. Er waren verschillende verbeteringen die werden gemaakt om Java 7 dat maakt het een nog betere taal voor het schrijven van software en we zullen kijken naar hen kort. Laten we er in duiken! Java 8 is heel anders dan de specificatie. Het is niet eens compatibel met Java 7. Laten we eens kijken hoe de twee verschillen. Wat is reflectie? Hoe verschilt het van statisch typen? Java 8 heeft een sterke focus op reflectie. Het heeft een nieuw mechanisme genaamd "com. Bekijk het testrapport Kinderbad Voor In De Douche. sun.reflect.reflection" in zijn API. Met dit mechanisme u reflecterende klassen maken die gegarandeerd een klassereferentie bevatten. Een klasse die een verwijzing bevat, wordt een "reflecterende constructor" genoemd. In Java 8 worden reflecterende constructors "reflecterende methoden" genoemd. Deze constructors maken geen deel uit van de API, maar ze kunnen worden gebruikt in de code. Hier zijn de drie belangrijkste soorten reflecterende methoden: Methode.

Object.

Constante. In het volgende voorbeeld laat ik een eenvoudige constructeur zien: openbare klasse Foo() { public final Object obj; dit (Object obj) { obj = obj; } In deze constructeur heb ik een nieuwe statische variabele en een methode. Zo is bijvoorbeeld de volgende code mogelijk: openbare statische klasse Foo(Object obj) {... } In dit voorbeeld heb ik echter een eigenschap van mijn klas, maar ik wil deze methode aanroepen met behulp van een openbaar veld van de klas. Hoe kan ik dat doen? Dit is de benadering van de nieuwe syntaxis van de Java-code. U definieert een klassemethode met één expressie. Laten we bijvoorbeeld eens kijken naar de volgende code: openbare statische klasse Foo { openbare statische leegte hoofd (String[] args) { System. Dit kan het vermelden waard zijn, in vergelijking met Oge Krultang 32mm out.println("Foo klasse methode genoemd!"); } De Java-code bevat een methode genaamd main die twee argumenten bevat. Het eerste is één argument van een tekenreeks met de klassenaam van de klasse. Het tweede argument is een reeks tekenreeksen die de naam van de methode bevatten. Dus het is zeker beter dan trekker Test. De methode aanroep is hetzelfde. Als we deze klasse compileren en alle andere klassen met dezelfde naam compileren, werkt de methodeaanroep van de hoofdmethode op alle klassen. De Java-code bevat geen Java-code. U het echter aan de slag krijgen door de volgende regel aan uw project toe te voegen:

com.github.dakimbe tuk-cobra-bronnen 2.1.0 Bovenstaande afhankelijkheid is alleen nodig als u de cobra-bronnen plugin wilt gebruiken.