Advanced Creations¶
Relative Creations¶
In all create related commands, all packages and classes will be created relative to the current package unless specified by ~ (tilde) before package or class path. See examples below...
Input | As Package | As Class |
---|---|---|
Alpha | Package "Alpha" is created in current package |
Class "Alpha" is created in current pacakge |
~Beta | Package "Beta" is created in default package |
Class "Beta" is created in default pacakge |
Alpha.Beta | Package "Beta" is created in "(current package).Alpha" package |
Class "Beta" is created in "(current package).Alpha" package |
~Alpha.Beta | Package "Beta" is created in "Alpha" |
Class "Beta" is created in "Alpha" |
Classes with main method¶
To create a class with main method, just add AsMain
at the end of your class name.
Javatar will automatically add main method when the class is created.
Customized Classes¶
You can create a class with custom visibility (default class visibility is public
) by adding one of the keyword public
, private
, protected
and default
before your class name. If you want to create an abstract or final class just add abstract
or final
after the visibility.
- Examples:
privateBattleShip
- Class “BattleShip” is created with “private” visiblity
protectedAbstractBattleShip
- Class “BattleShip” is created with “protected” visibility and “abstract” modifier
wargame.entity.defaultBattleShip
- Class “BattleShip” is created with “default” visibility in “wargame.entity” package
Note
The keyword is order-sensitive but not case-sensitive.
Inheritances Helper¶
You can create a class included with inheritances of classes and interfaces by using special characters.
To extends a class, add :
(colon) followed by a class name (or a list of class names separated by commas if it is a enumerator).
To implements an interface, add <
(left angle bracket) followed by a list of interface names separated by commas.
If you are on Development Channel, Javatar will also automatically organize imports when class is created.
- Examples:
BattleShip:BattleUnit
- Class “BattleShip” is inherited from “BattleUnit” class (has “extends” in the code)
BattleShip:BattleUnit<WaterUnit
- Class “BattleShip” is both inherited from “BattleUnit” class and “WaterUnit” interface
BattleShip<Carrier,WaterUnit:BattleUnit
- Class “BattleUnit” is inherited from “BattleUnit” class, “Carrier” interface and “WaterUnit” interface
wargame.entity.defaultAbstractBattleShip:BattleUnit<Carrier,WaterUnit
- Abstract class “BattleUnit” is created in “wargame.entity” package with “default” visibility and is inherited from “BattleUnit”, “Carrier” and “WaterUnit” class/interface
Inheritances is case-sensitive but not order-sensitive.
Note
Despite, Javatar allows you to create “private” or “protected” classes. It does not make sense to create a private or protected class since another class can not see a new class you created.