In class-based object-oriented programming languages, a leaf class is a class that should not be subclassed. This can be enforced either by convention, or by using a language feature such as the reserved words (keywords) final
in C++, Dart, Java, and PHP,[1] or sealed
in C# and Scala.
In Java, the Leaf node is an abstract class for all scene graph nodes that have no children. Leaf nodes specify lights, geometry, and sounds. They specify special linking and instancing abilities for sharing scene graphs and provide a view platform for positioning and orienting a view in the virtual world.[2]