Abstract Classes And Interfaces
Mar 29, 2014
I did research again....
interface:
methods - abstract, default, static ONLY(abstract methods have no body, while static and defaults do, right?)
fields - public, static, final ONLY
abstract class: a normal class, but has at least one abstract method
methods - all
i.e., static, non-static, abstract (can it have a default method?)
fields - all
i.e., public, protected, private / final, non-final / static, non-static
View Replies
ADVERTISEMENT
Dec 1, 2014
While reading the design patter book, i got one doubt ,There is a List an interface having sub classes ArrayList, LinkedList etc.,
Q1) My question is Why they declared the List as interface rather than Abstract class?
Q2) i read some site -
List l = new ArrayList(); Why it is GOOD line?
ArrayList l = new ArrayList() ; Why it is BAD line?
Answer required with detailed information for Q1 and Q2.
View Replies
View Related
Jun 20, 2014
When are we allowed to nest interfaces inside a class? Would this be possible? Why or Why not?
View Replies
View Related
May 8, 2014
I have three classes of object, most of which must implement two out of three interfaces. The interfaces look like this:
public interface Source {
public void startSending();
} public interface Sender {
public void setReceiver();
[Code] .....
That works fine, but I am wondering if pairing the interfaces into subinterfaces is a defensible methodology. For example, all classes that act like Producer must implement both the Source and Sender interfaces. And all classes that act like Relayer must implement the Sender and BlackHole interfaces. I could define two subinterfaces like this:
public interface Factory extends Source, Sender {
}
public interface Modifier extends BlackHole, Sender {
}
I could then define my classes like this:
public class Producer implements Factory {
}
public class Relayer implements Modifier {
}
public class Consumer implements BlackHole {
}
Within the class definitions, it makes no difference, as I will have to implement the same methods either way. But it seems more self-documentary to create the subinterfaces from their parent interfaces and name them in ways that reflect what the classes that implement them must actually do.
View Replies
View Related
Apr 6, 2014
I am trying to figure out how I can most easily make it easier to make new types of units in my game. I have buildings and ships, and would like to know how I could make it easy to add new units. I have been recently told about interfaces, and have worked with inheritance a little bit.
What I would like to able to do is have it so that all of the variables and methods common to all ships could be stored in a superclass or interface, and same with the buildings. I would also like to be able to assign behaviours to the buildings and ships, maybe as interfaces, which could contain all of the methods and variables required for the functions of that ship or building.
For example, creating a new type of building that can shoot, build ships, and can regenerate nearby ships. So it would possible inherit all of the variables and methods common to all buildings, such as health, image, x, y, getX(), getY() etc. But it would then also gain the variables and methods essential for its functionality, such as shootRange, shoot(), regenRate, etc.
How could this best be achieved?
View Replies
View Related
Oct 25, 2014
I am reading about interface and i see that classes are allowed inside interfaces which are implicitly static. Here is sample of code i created and i am able to access the static method and fields as well. Here is the code snippet.
public class TestInnerClass {
public static void main(String[] args){
Test.NestedClass.printMe();
}
}
interface Test{
static class NestedClass{
static int x = 100 ;
public static void printMe(){
System.out.println(x);
}
}
}
My question is what is the use of such static classes inside interface? If i don't have access to Foo, i can't ever invoke NestedClass. Whats the design usage?
View Replies
View Related
Sep 15, 2014
What programs use abstract classes?
View Replies
View Related
Jun 4, 2014
why don't I define my methods in a class, rather than going a level up and declaring it first in an abstract class/interface? If the point is to have different implementations for different needs, then we have the option to override the methods.
View Replies
View Related
Nov 19, 2014
I am writing small pieces of code to make sure I understand Java basics and I have the following.
package teams1;
public abstract class Team1{
private String sport = new String();
public abstract String getSport();
public abstract void setSport();
}
import teams1.*;
[Code] .....
It doesn't compile because sport is private in the super class, but I thought FootballTeam1 would inherit it's own copy of sport because it is extending Team1.
View Replies
View Related
Jan 21, 2015
I'm having difficulty understanding this small piece of code:
package food;
public abstract class Fruit {
private String color;
private String tasteType;
public void setColor(String color) {
this.color = color;
}
public abstract void setTasteType(String taste);
}
The above is an abstract class which describes the basic structure that every fruit should "extend".
The below is a concrete subclass of the Fruit class called Apple.
import food.Fruit;
class Apple extends Fruit {
public void setTasteType(String taste) {
tasteType = taste;
}
}
Also do note that the two pieces of code are in different packages!
Upon compiling the Apple class I get the following error:
Apple.java:4: error: tasteType has private access in Fruit
tasteType = taste;
^
What I don't understand is this: I've given a non-abstract implementation to the "setTasteType" method in the Apple class and clearly setTasteType should have the authority to modify the private instance variables of Fruit. But it turns out I'm wrong.
View Replies
View Related
Oct 20, 2014
I am new to Java, and last week had an assignment to create a shopping list. I made it so that I have one class use a ProductData class to load an array of objects (description, price, priority). This week I need to take that program and change it so that it includes an Interface and Abstract Class. I need to also split one class up into at least 2 others.
I am having trouble getting my thoughts together and figuring out what to put in the interface and what to put in the abstract class. I'm thinking that it might be best to split up the ProductData class up into 3 different classes: description, price, and priority. Then have an interface with a print method. Each of those 3 classes will implement the interface.
As for the abstract class, have the price and priority extend the abstract class. The abstract class will be at the same level as the interface and contain the set and get methods. Right now they are of 2 different data types: int, double. Should I make both of them Double, and then use a method to change the priority to an int?
Should price and priority inherit from description, or should they all be at the same level? I am thinking that they should be at the same level because they all describe the item in the array.
My most confusing part is that I have no clue at all on how I can load that array when each object is split up in a different class. My professor went over ArayLists last week, and we can now use them if we want, but the assignment doesn't explicitly say that we should change it to an Array List. Where does the constructor for the ProductData() go? Do I split it up into 3 different constructors?
View Replies
View Related
Feb 2, 2014
I am stuck. It seems like I have done everything by the book but I keep getting the same error: cannot find symbol. The error is specifically addressing lines 9, 10, and 11 in the Alien class file. All that is supposed to happen is an output of information for the two types of aliens.
Java Code:
import javax.swing.*;
public class CreateAliens
{
public static void main (String[] args)
{
Martian aMartian = new Martian();
Jupiterian aJupiterian = new Jupiterian();
JOptionPane.showMessageDialog
(null, "
[Code] ....
View Replies
View Related
Oct 8, 2014
What are the benefits of using an Interface plus an abstract class, over just an abstract class?
View Replies
View Related
Feb 14, 2014
Interfaces are 100 % abstract classes.They cannot be instantiated.Their sole purpose is to be implemented.So why does the following code works just fine while it is attempting to instantiate an interface.
interface TestA { String toString(); }
public class Test {
public static void main(String[] args) {
System.out.println(new TestA() {
public String toString() { return "test"; }});
}
}
View Replies
View Related
Sep 1, 2014
Can i use constructors in an interface?
interface AI {
public abstract AI();
public abstract void hello();
}
Output:
I got the error as the method AI() should have return type.
View Replies
View Related
May 14, 2014
I understand that interface methods are abstract. I don't understand what the methods in the API do if the method bodies are empty. For example, say there are two interfaces, both with one method with no parameters. What would make these two interfaces different from each other. In the API, the AudioClip interface has the methods play(), stop(), and loop(). If abstract methods have no method bodies, and these methods take no parameters, what makes them different from each other.
View Replies
View Related
May 20, 2014
This is the link [URL] and it says One significant difference between classes and interfaces is that classes can have fields whereas interfaces cannot.How can this be possible?
View Replies
View Related
Dec 5, 2014
why interfaces are needed in Java,Now you saw what a class must do to avail itself of the s... - justpaste.it (if I paste the quote here, I get the "Page not found" error after posting -.^)
the first fragment reads that the compiler must be sure that a method exits at a compile time, whereas the second fragment denies it - if a[i] doesn't have the specified compareTo method, a JVM simply throws an exception.
View Replies
View Related
Jan 8, 2015
In Interview many times Interviewer ask a simple question "Hibernate core Interfaces ?".The five core interfaces exposed by Hibernate. But he not satisfy, Why?...
View Replies
View Related
Jun 16, 2010
Why can't we have static methods in an interface?
View Replies
View Related
Jan 16, 2014
I want to make some library interfaces for a graph.Using these interfaces:
Graph<V,E>
Edge<E>
Vertex<V>
how can i constraint users of this library to use the same type <E> in the graph and edge interface and type <V> in the graph and vertex interface??
View Replies
View Related
Apr 11, 2014
This is my assignment.
Identify how multiple inheritance is possible in Java with interfaces.
Write a java programme with appropriate classes to demonstrate the above.
Hint: both inheritance and interface concepts are necessary.
For the project name in netbeans, use your id and the name "assignment" separated by underscore,
E.g. 9876543_assignment
View Replies
View Related
Jan 12, 2014
how can i implement multiple inheritance in java using interfaces. if interfaces have some methods having same name then how to distinguish that ?
View Replies
View Related
Oct 15, 2014
import java.util.*;
public class CommonElements
{
private int comparisons; // number of comparisons made
private Comparable[] arrayToSearch; // current array being traversed
private Comparable[] commonElements = new Comparable[10];
private int arrayPosition = 0; //keeps track of what index to add an element to common at
[Code] ...
I have trying to get this down to the bar minimum. I am trying to cast the desired object array to a array of comparable. This is all required by the assignment.
I am getting a runtime error that I can not perform the desired cast. What do I need to provide the compiler in order to allow for this casting. I can not change the signature of the method however nothing about the class has been specified do I need to implement comparable? Also I don not now what the client is passing so how would I write a generic compareTo method to compare object of unknown types.
View Replies
View Related
Oct 14, 2014
imagine you are implementing 2 interfaces having identical method signatures:
interface A {
void doStuff();
}
interface B {
void doStuff();
[Code] ....
How can I implement both methods?
Or another example with member variables:
interface A {
public static final int i = 3;
}
interface B {
public static final int i = 33;
[Code] ....
How can I go about making clear which 'i' is meant?
View Replies
View Related
Jun 1, 2014
I am just started to learn java and i am facing trouble learning abstract class.
View Replies
View Related