Java Interface Anonymous.
Java Interface and anonymous inner class
- Anonymous inner class is a class that has no name and the implementation is combined with instantiation of an object.
-
Can also be created through extending a class, but in this case as implementing an interface.
Using an interface implementation example:
interface Reputation { // default method default public String getInfo() { return "Bad for business"; } } class Car { private String initialReputation=null; private List<String> reputations= new ArrayList<String>(); public Car() { } public Car(String initialReputation) { this.initialReputation=initialReputation; } public void addReputation(String reputation) { reputations.add(reputation); } Reputation obj = new Reputation() { // Anonymous inner class @Override // Overriding interface default method public String getInfo() { String returns =""; if (initialReputation==null){ returns = Reputation.super.getInfo(); }else { returns = initialReputation; } for (String ret : reputations) { returns +="\n"+ret; } return returns; } }; } public class CarReputationApp { public static void main(String[] args) { Car myCar1 = new Car("High performance"); // instantiated object of class car myCar1.addReputation("New car"); myCar1.addReputation("Comfortable to drive"); myCar1.addReputation("Low price"); System.out.println("Car 1 reputations:\n" + myCar1.obj.getInfo()); Car myCar2 = new Car(); System.out.println("\nCar 2 reputations:\n" + myCar2.obj.getInfo()); } }
The result of this is:Car 1 reputations: High performance New car Comfortable to drive Low price Car 2 reputations: Bad for business
© 2010 by Finnesand Data.
All rights reserved.
This site aims to provide FREE programming training and technics.
Finnesand Data as site owner gives no warranty for the
correctness in the pages or source codes.
The risk of using this web-site pages or any program
codes from this website is entirely at the individual user.