René's URL Explorer Experiment


Title: Sealed classes for type hierarchies | java.evolved

Open Graph Title: Sealed classes for type hierarchies | java.evolved

X Title: Sealed classes for type hierarchies | java.evolved

Description: Restrict which classes can extend a type — enabling exhaustive switches.

Open Graph Description: Restrict which classes can extend a type — enabling exhaustive switches.

X Description: Restrict which classes can extend a type — enabling exhaustive switches.

Opengraph URL: https://javaevolved.github.io/language/sealed-classes.html

direct link

Domain: javaevolved.github.io


Hey, it has json ld scripts:
  {
    "@context": "https://schema.org",
    "@type": "TechArticle",
    "headline": "Sealed classes for type hierarchies",
    "description": "Restrict which classes can extend a type \u2014 enabling exhaustive switches.",
    "url": "https://javaevolved.github.io/sealed-classes.html",
    "publisher": {
        "@type": "Organization",
        "name": "java.evolved",
        "url": "https://javaevolved.github.io"
    },
    "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://javaevolved.github.io/sealed-classes.html"
    }
}
  
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "name": "Home",
            "item": "https://javaevolved.github.io/"
        },
        {
            "@type": "ListItem",
            "position": 2,
            "name": "Language",
            "item": "https://javaevolved.github.io/#language"
        },
        {
            "@type": "ListItem",
            "position": 3,
            "name": "Sealed classes for type hierarchies"
        }
    ]
}
  

theme-color#f97316
mobile-web-app-capableyes
apple-mobile-web-app-status-bar-styleblack-translucent
apple-mobile-web-app-titlejava.evolved
og:typearticle
og:site_namejava.evolved
og:localeen
og:imagehttps://javaevolved.github.io/og/language/sealed-classes.png
og:image:width1200
og:image:height630
og:image:typeimage/png
twitter:cardsummary_large_image
twitter:imagehttps://javaevolved.github.io/og/language/sealed-classes.png

Links:

java.evolvedhttps://javaevolved.github.io/
https://github.com/javaevolved/javaevolved.github.io
← All patternshttps://javaevolved.github.io/
https://javaevolved.github.io/language/records-for-data-classes.html
https://javaevolved.github.io/language/record-patterns.html
Homehttps://javaevolved.github.io/
Languagehttps://javaevolved.github.io/#language
🐛 Report a code issuehttps://github.com/javaevolved/javaevolved.github.io/issues/new?template=code-issue.yml&title=%5BCode%20Issue%5D%20Sealed%20classes%20for%20type%20hierarchies&category=language&slug=sealed-classes
🌐 Report a translation issuehttps://github.com/javaevolved/javaevolved.github.io/issues/new?template=translation-issue.yml&title=%5BTranslation%5D%20Sealed%20classes%20for%20type%20hierarchies%20%28English%29&locale=en&pattern=sealed-classes&area=Pattern%20content
💡 Suggest a new patternhttps://github.com/javaevolved/javaevolved.github.io/issues/new?template=new-pattern.yml
𝕏https://x.com/intent/tweet?url=https%3A%2F%2Fjavaevolved.github.io%2Flanguage%2Fsealed-classes.html&text=Sealed%20classes%20for%20type%20hierarchies%20%E2%80%93%20java.evolved
🦋https://bsky.app/intent/compose?text=Sealed%20classes%20for%20type%20hierarchies%20%E2%80%93%20java.evolved%20https%3A%2F%2Fjavaevolved.github.io%2Flanguage%2Fsealed-classes.html
inhttps://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fjavaevolved.github.io%2Flanguage%2Fsealed-classes.html
https://www.reddit.com/submit?url=https%3A%2F%2Fjavaevolved.github.io%2Flanguage%2Fsealed-classes.html&title=Sealed%20classes%20for%20type%20hierarchies%20%E2%80%93%20java.evolved
Let us know.https://github.com/javaevolved/javaevolved.github.io/issues/new?template=code-issue.yml&title=%5BCode%20Issue%5D%20Sealed%20classes%20for%20type%20hierarchies&category=language&slug=sealed-classes
Sealed Classes (JEP 409) ↗https://openjdk.org/jeps/409
View proof source ↗https://github.com/javaevolved/javaevolved.github.io/blob/main/proof/language/SealedClasses.java
Language Beginner Switch expressions Java 8 String msg; switch (day) { case MONDAY: msg = "Start"; break; case FRIDAY: msg = "End"; break; default: msg = "Mid"; } Java 14+ String msg = switch (day) { case MONDAY -> "Start"; case FRIDAY -> "End"; default -> "Mid"; }; Hover to see modern ➜ JDK 14+ → https://javaevolved.github.io/language/switch-expressions.html
Language Intermediate Module import declarations Java 8 import java.util.List; import java.util.Map; import java.util.stream.Collectors; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; Java 25+ import module java.base; // All of java.util, java.io, java.nio // etc. available in one line Hover to see modern ➜ JDK 25+ → https://javaevolved.github.io/language/module-import-declarations.html
Language Intermediate Pattern matching in switch Java 8 String format(Object obj) { if (obj instanceof Integer i) return "int: " + i; else if (obj instanceof Double d) return "double: " + d; else if (obj instanceof String s) return "str: " + s; return "unknown"; } Java 21+ String format(Object obj) { return switch (obj) { case Integer i -> "int: " + i; case Double d -> "double: " + d; case String s -> "str: " + s; default -> "unknown"; }; } Hover to see modern ➜ JDK 21+ → https://javaevolved.github.io/language/pattern-matching-switch.html
java.evolvedhttps://javaevolved.github.io/
Bruno Borgeshttps://github.com/brunoborges
GitHub Copilothttps://github.com/features/copilot
modern-css.comhttps://modern-css.com
View on GitHubhttps://github.com/javaevolved/javaevolved.github.io

Viewport: width=device-width, initial-scale=1.0

Robots: index, follow


URLs of crawlers that visited me.