Java
Program Specification
You will build a class inheritance structure for a small portionof the game Pokemon. You must implement the class hierarchy below.Your concrete classes must call the superclass constructor with theproper parameters. The # symbol in the UML diagram means it isprotected, italicized means static, and italicized&bold meansabstract. The two italicized methods must be implemented in thesubclasses. + means public, – means private.
<abstract>
Pokemon
# name: String# health: int# power: int# level: int+ Pokemon(name: String, health: int, power: int, level:int)+ getName(): String+ getHealth(): Int+ getPower(): int+ getPower(power: int)+ getLevel(): int+setLevel(): int+setLevel(level: int)+ isDefeated(): boolean# hurt(damage: int)+specialAttack(target: Pokemon)+physicalAttack(target: Pokemon)Pikachu– final thunderBolt = 6:
PayPal Gateway not configured
PayPal Gateway not configured