Builder pattern subclassing - solved? Without trai

Run Settings
LanguageJava
Language Version
Run Command
class Base<SUB> { public SUB withBaseParam(String param) { System.out.println("Here in Base with " + param); return (SUB) this; } public Base build() { System.out.println("Building in Base class"); return this; } } class Subclass extends Base<Subclass> { public Subclass withSubclassParam(String param) { System.out.println("Here in Subclass with " + param); return this; } } class AnotherSubclass extends Base<AnotherSubclass> { public AnotherSubclass withAnotherSubclassParam(String param) { System.out.println("Here in AnotherSubclass with " + param); return this; } } public class Client { public static void main(String[] args) { System.out.println("Subclass example:\n"); new Subclass() .withSubclassParam("s1") .withBaseParam("foo") .withSubclassParam("s2") .withSubclassParam("s3") .build(); System.out.println("\n\nAnotherSubclass example:\n"); new AnotherSubclass() .withBaseParam("foo") .withAnotherSubclassParam("s1") .withBaseParam("bar") .withAnotherSubclassParam("s2") .withAnotherSubclassParam("s3") .withBaseParam("baz") .build(); } }
Editor Settings
Theme
Key bindings
Full width
Lines