Using Constructors In Interfaces?
Sep 1, 2014Can 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.
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.
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"; }});
}
}
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 RelatedThis 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 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.
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 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
When are we allowed to nest interfaces inside a class? Would this be possible? Why or Why not?
View Replies View RelatedWhy can't we have static methods in an interface?
View Replies View RelatedI 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.
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?
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?
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??
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
Can you give me a simple description of what overloading a constructer is?
View Replies View Relatedhow 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 RelatedIs it possible to combine two classes that I have defined to contain some of the same elements so that NetBeans stops giving me errors? I don't want to get rid of any necessary code, and if both classes are necessary, should I just rename one of them? One class is an ArrayList that I am using to write the information for employees entered to a text file "employee.txt." I also want users to be able to call on this information via employeeID in order to display employee information. The code is the following:
public ArrayList<Employee> getEmployees() {
// if the employees file has already been read, don't read it again
if (employees != null)
return employees;
employees = new ArrayList<>();
if (Files.exists(employeesPath)) // prevent the FileNotFoundException {
[code]....
The other class is a getEmployee class that I previously defined before attempting to read the information from the text file and display it in the console. It is as follows:
private void getEmployees() {
try {
// if the file doesn't exists, create it
if (!Files.exists(employeesPath))
Files.createFile(employeesPath);
BufferedReader in =
new BufferedReader(
new FileReader(employeesFile));
[code]....
I remember reading that a super() call to parent no-argument constructor is automatically inserted by compiler. So, if i have a chained hierarchy of classes (starting at top, with Object), will there be a chain of super() calls, going from bottom to top in the chain ? Will a super() call be inserted in child, if i provide a no-argument constructor for this class ?
View Replies View RelatedI am getting error in second constructor that I have created, it gives an error: cannot find symbol variable
package Objects;
import javax.swing.JOptionPane;
public class Constructor {
public static void main(String[] args) {
Piggybank1 pg1 = new Piggybank1("Abhinav", 500);
pg1.deposit(200);
pg1.withdraw(10);
[Code] ....
We are learning about how to pass objects into constructors. In our class, we made this following code:
public class InventoryItem {
//fields
private String description;
private int units;
//Add New constructor
public InventoryItem(InventoryItem some_object) {
description=some_object.description;
[Code] .....
As you can see the object of the same class is passed as the argument. Inside the constructor, our teacher did
some_object.description
This constructor, from my understanding, copies the description field and unit field to an object to the new object of class. Meanwhile, here is the demo class.
public static void main(String[] args)
{
//Create object
InventoryItem item1;
item1=new InventoryItem("hammer",20);
System.out.println("Item 1: ");
[Code] .....
Over here, my teacher uses :
.getDescription
My problem is that in the constructor of the first class I showed, why didn't he use
.getDescription
method instead of this
.description
May I know what is difference between these two. If I use .getdescription that would return the value of a field from that object too.
So while experimenting with constructors, repeating constructors with the same parameters, and with different parameters. I got an output -explaining how I got it.
I made 2 classes. a "support class" (has all the info) and an "execute class" (executes info).
Support:
package inschool;
public class Constructors {
String video;
public Constructors() {
video = "frozen";
[Code] ....
Execute:
package inschool;
//this is part of Constructors class
public class App{
public static void main(String[] args){
[Code] ....
The Output:
the video name is frozen
Second constructor running
Constructor running!
the video name is frozen
Output Explanation:
constructor call number 1 and 3 are the same (essentially) and both refer to the same constructor.
My Question: if both call #1 and #3 refer to the same constructor, why is the output for #1 "the video name is frozen"
while the output for #3 used both methods in the accessed constructor-with the resulting output as
"Constructor running!"
and
"the video name is frozen"
I double checked the output-and this time made sure to scroll up ... its the same result
I have a class named Cash shown below
public class Cash
{
//Quanity Field and RetailItem Object field
private int total_units;
private Retail myRetail;
//Create first constructors
public Cash()
{
this(0,null);
[Code] ....
I'm seriously need to understand the concept of making shallow copies and deep copies. My book has shown me that its better to perform deep copies and I have followed that method. if you guys look in my constructor of the cash class
//Create a a constructor
public Cash(int total_units,Retail myRetail)
{
this.total_units=total_units;
this.myRetail=new Retail(myRetail);
Apparently I have field in Cash Class named
Retail myRetail
When I pass in an argument from my demo, I'm making a copy of that object from the demo class. In my retail class, I have the following copy constructor .
//Make a copy constructor
public Retail(Retail Object1)
{
Item_Name=Object1.Item_Name;
Item_Number=Object1.Item_Number;
// if I use this then my program would work//this.cost=Object1.cost;
//if I use this part of code below, my program won't work at all and I would get an error saying Exception in thread "main" java.lang.NullPointerException
this.cost.Item_Cost=Object1.cost.Item_Cost;
this.cost.Wholesale_Cost=Object1.cost.Wholesale_Cost;
}
My question is why can't I perform a deep copy there. I know if I do
this.myRetail=myRetail
in my cash constructor it would work, but then the book says its not a good method;
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.
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.
class Test3 {
} class MySub extends Test3 {
}
class Test4{
public static void main(String args[]) {
MySub m = new MySub();
}
}
I learned that if a class and its parent class both have no constructors, the compiler is supposed to complain. When I compiled Test4, i got no errors. why did it give no errors?
I read this article : [URL] ....
In Java code, write class called Student with the following features:
• a private instance variable int studentNumber that is initialized to zero.
• a private instance variable String firstName;
• a private instance variable String lastName;
• a constructor which takes an integer argument and two String arguments to initializes the three respective data items.
• a public method with signature equals(Student s) . . .
So far this is my code :
public class student {
private int studentnumber = 0;
public student () {
firstname= "forename":
lastname="surname":
public student (integer studentnumber, string firstname, string lastname) {
this.firstname= firstname
this.lastname= lastname:
My question is how do i add the integer in the argument do i have to use int =? and how would i go about doing the public signature equals...