# Remove Inherited Interfaces from Class Declaration
# Description
This rule removes interfaces from class declaration, which are already implemented by a super class. These interfaces are inherited from the super class.
# Benefits
Removing redundant syntax improves readability.
# Tags
# Code Changes
Pre
class Child extends Parent implements Observer {
@Override
public void update(Observable o, Object arg) {
// do nothing
}
}
class Parent implements Observer {
@Override
public void update(Observable o, Object arg) {
// do nothing
}
}
Post
class Child extends Parent {
@Override
public void update(Observable o, Object arg) {
// do nothing
}
}
class Parent implements Observer {
@Override
public void update(Observable o, Object arg) {
// do nothing
}
}
Use a Java Refactoring Tool
No license required
You can review this refactoring on your code without a license by installing jSparrow to your Eclipse IDE. Install the plug-in from Eclipse IDE: Eclipse Marketplace.
System-wide Refactoring
Do you want to automate this refactoring (and many more) to your system-wide code? The automatic application of this system-wide refactoring can be unlocked by acquiring your jSparrow license.
# Properties
Property | Value |
---|---|
Rule ID | ReImplementingInterface |
First seen in jSparrow version | 2.2.0 |
Minimum Java version | 1 |
Remediation cost | 2 min |
Links |