Why Use Extends Keyword Instead Of Implements In Generics
Feb 22, 2015
Why java uses the keyword extends when setting the bound of a type parameter(Generic) to an interface. I think using the keyword implements is more intuitive.
public static <T extends Comparable<T>>
why use extends? and not implements.
int countGreaterThan(T[] anArray, T elem) {
int count = 0;
for (T e : anArray)
if (e.compareTo(elem) > 0)
++count;
return count;
}
I know if I want to set multiple bounds I will use extends keyword, and I will concatenate the bounds using & operator.
Is this a design decision to always use extends keyword to set bounds?
View Replies
ADVERTISEMENT
Apr 23, 2014
we're working with classes and interfaces and we see like this;
class class1 extends class2 implements interface1 { }. //it is valid
I want to know that why we cannot implement an interface before extending a class like this;
class class1 implements interface1 extends class2 { }. //it is invalid
View Replies
View Related
Feb 14, 2014
Suppose I have
class A {
public void speak() {
System.out.println("I am class A");
}
}
class B extends A{
public void speak() {
System.out.println("I am class B");
}
}
class C extends B{
public void speak() {
System.out.println("I am class C");
}
}
Why this doesn't work while A is a super type of B ?
public static void insertElements(List<? super B> list){
list.add(new A()); //not OK, why?
}
View Replies
View Related
Oct 7, 2014
What is the difference between the static keyword and transient keyword?
View Replies
View Related
Jul 31, 2014
I'm reading about threads In Head First Java and the way an Instance of a class that Implements Runnable Is created confuses me a little.
public class MyRunnable implements Runnable ......
Runnable ThreadJob = new MyRunnable();
I thought I had to use this syntax :
MyRunnable ThreadJob =new MyRunnable();
View Replies
View Related
Dec 15, 2014
How do you enforce any class which implements an interface should also implement comparable too? Say for instance you may have an interface
public interface Task
{ ... }
public class DoThis implements Task { ... }
public class DoThis1 implements Task { ... }
I want all of the classes which implements the interface Task to implement comparable too. Of course I can just say implements Task, Comparable. But is there something which we could do from interface level, i mean interface Task level?
View Replies
View Related
Sep 2, 2014
I'll start off by showing my full code:
Main class
import javax.swing.JFrame;
public class groupingTest {
public static void main (String[] args) {
groupWindow test = new groupWindow();
[Code]....
At the start of the groupWindow it turns yellow and it says "The serializable class groupWindow does not declare a static final serialVersionUID field of type long".
View Replies
View Related
Oct 3, 2014
I'm not sure why, but whenever I try to get a value out of a double, it only extends to one decimal place. For instance, (825 / 805) would become 1.0000 (after being run through a DecimalFormat object) instead of 1.0248 like I need it to be (and should be if what I know about primitive variable types is right). Why is the double variable type not giving me the precision I want and, more importantly, how do I fix this?
View Replies
View Related
Nov 4, 2014
I have two classes in two different files.
Color.java and Light.java
The Color class:
public class Color {
private int red;
private int green;
private int blue;
public Color(){
red = 0;
green = 0;
blue = 0;
}
And i have the Light class :
public class Light {
private Color color1;
private boolean switchedon;
public Light(int red, int green, int blue){
//dont know what to write here . how can i use the members of the Color class here ? without using extends.
}
}
View Replies
View Related
Mar 25, 2015
I am trying to redefine the FileNotFoundException by creating a new class which extends it, but I am having difficulty. For my class practice, if no file is selected or passed in, an UnknownFileException should occur.My code is the following:
Java Code:
import java.io.FileNotFoundException;
public class UnknownFileException extends FileNotFoundException {
public UnknownFileException() {
super("We couldn't tell what file this is");
}
public UnknownFileException(String message) {
super(message);
[code]....
But I get a compile error stating an unreported FileNotFoundException.
View Replies
View Related
Apr 8, 2015
I'm building a text editor. At this point, the editor should be able to read and write text and rich text. I create an instance of a RichTextEditor class that I created that extends a superclass I created (that extends JTextPane). Both my rich text and plain text classes extends the superclass I created. I use the this.read() to input my plain text from buffered reader. I think I need to use the read(fileinput stream, rtf document) method from type RTFEditorKit, but I cannot use that because it does not extend RTFEditorKit. I don't want to create a new class that extends RTFEditorKit because I need stuff from the JTextPane.
here are the classes on git... the super: TextEditorPane.java
The plaintext: TextEditorWrap.java
and the rich: RichTextEditor.java
I have fiddled with the read() method in different ways. In all cases, nothing loads. If I use the BufferedReader method, it doesn't give me an RTF, just the code for the RTF file.
How should I proceed? Do I create some sort of RTF interface and implement it?
View Replies
View Related
Mar 15, 2014
I am working on a project where i need to show a year value in a class that extends JSpinner.Its working just fine but when i try to set an alignment value for the editor textfield it all falls apart and i know im missing something really critical here but i can't see or find it all i know is that i can't make a proper reference to the textfield component in the editor i use in the correct way or aproach.
public class JNumberSpinner extends JSpinner {
private String actionCommand;
private boolean isEnabled;
private int startValue;
private int columns;
private int alignment;
private SpinnerNumberModel model;
private JSpinner.NumberEditor numEditor;
private JFormattedTextField jTxtEditorView;
[code]....
View Replies
View Related
Mar 20, 2015
What is wrong in this
class Gen<k,v>
{
K a;
V b;
Gen(K s, V f) {
a=s;
b=f;
[Code] .....
a is object of type k,then how can I retrieve content of a?
View Replies
View Related
Feb 11, 2014
a) I have a Ball Object which implements the Runnable interface and traces the various positions of a ball.
b) I then have a Ball_Bounce JPanel inside a JFrame which creates two instances of the Ball object and then paints them to the JPanel.
As per my understanding, when the main() program in Ball_Bounce.java is started, there a total of three threads running in this program, one for each ball and one for the main(). What I cannot understand is whenever the balls collide, I end up getting the "Collision" message twice even though the collision is checked only in the main() thread.
[#]public class Ball implements Runnable
{
private boolean xUp, yUp, xUp1, yUp1;
private int x, y, xDx, yDy;
private final int MAX_X = 500, MAX_Y = 500;
private boolean flag = true;
private static Thread ball;
[code]...
View Replies
View Related
Jan 29, 2014
I have studied that Generics are used to shift the Class Cast Exception into Compile time errors , So that we get errors at compile time error and we do correct them before executing ,but Here is a program in which i am getting Class Cast Exception
class Animal
{
}
class Dog extends Animal
{
}
class Cat extends Animal
[code]..
Getting Exception at line no 29 which i know why it occurs but just wanna ask that isn't it should be caught at compile time According to Generics ?
View Replies
View Related
Jun 19, 2014
I just want to clarify generics for classes.
Referring to [URL] ....
Generics means all methods in class Box will return an Integer if their parameters are defined as T when the instantiation is :
Box<Integer> integerBox = new Box<Integer>();
Are those Boxes only can contain Integers? Can I write
Box <Toys> toybox = new Box <> ();
To show that the Box only contain toys?
View Replies
View Related
Jun 17, 2014
Set<? super TreeMap> s = new HashSet<SortedMap>();
SortedMap<String,String> sm = new TreeMap<String,String>();
TreeMap<String,String> tm = new TreeMap<String,String>();
s.add(sm); //This fails
s.add(tm);
Why does adding sorted map to a Set that allows ? super TreeMap and instantiated as such fail?
View Replies
View Related
Apr 10, 2014
public int[] allIndicesOf(E itemSought) {
ArrayList<Integer> toUse = new ArrayList<>();
for (E anArray : container) {
if (anArray.equals(itemSought)) {
toUse.add(container.indexOf(itemSought));
[Code] ....
I have an array list of strings. I want to be able to return an array of integers telling me which indexes in the string array list contain the itemSought object.
View Replies
View Related
Jun 14, 2014
I've come across something that i'm not overall sure about regarding the static keyword in Java.I'm making a vertical scrolling game where the player simply shoots enemies and they shoot back as they fall, dropping items if they die such as power ups and coins. I have an enemy called Bat and this is the bullet creation code in the update method:
if(oldPlayerY + 220 > posY && getBulletDelay > 0.90f){
batBullets.add(new Bullet(posX + 10, posY - 10));
getBulletDelay = 0;
}
The method is creating a new bullet object and it then adds that to the arraylist called batBullets, which is simple enough. I then need to access this arraylist in the main game update class so I can render those bullets on the screen, even if the bat dies. I was always taught that you use the static keyword when you need to access something from the class that doesn't require an object. Because of this, I have the following code.
for(Bullet bullet : Bat.batBullets){
bullet.setY(bullet.getY - 5); // Set the bullet to fall
renderMap.getSpriteBatch().draw(bullet.batBullet(), bullet.getX(), bullet.getY()); // render the bullets
}
This seems perfectly fine to me because I need to access the batBullet arraylist and it doesn't make sense to create a new bat object as I already have random spawning in place for them.
View Replies
View Related
Dec 2, 2014
I am attaching a document which shows the current state of my registry.What I want to know is if I can [safely] delete the JavaSoft folder with all lower subfolders, then re-install jdk1.6/0_31 which, I am told, is the current version being used here by developers.According to others on the development team (not my team), there COULD be something in the registry that is preventing both the installation of java jdk AND its uninstallation.Since I cannot seem to attach any kind of document.
View Replies
View Related
Jul 27, 2014
An array of references to a specific generic type is not allowed in Java.
e.g.,
ArrSpec<String> arrs[] = new ArrSpec<String>[10];
is not allowed though the type checkng and memory allocation can be done at the compile time itself.
Instead of this, Java allows to use Wildcard type array of references to a generic type.
e.g.,
ArrSpec<?> arrs[] = new ArrSpec<?>[10];
is allowed though the type checking, memory allocation and any type of values to be stored would be decided at the runtime.
View Replies
View Related
Jun 5, 2015
My book defines this generic method
Java Code:
public static <E extends Comparable<E>> void sort(E[] list... mh_sh_highlight_all('java');
Comparable is an interface and from how i look at this piece of code is that I can only use a class that implements the Comparable interface; however, this is the context my book uses when explaining the following code
First, it specifies that E is a subtype of Comparable.
Second, it specifies that the elements to be compared are of the E type as well.
What does it mean when it says E is a subtype.
View Replies
View Related
Mar 6, 2014
I've an interface with generic methods in it. I would like to have specialized methods in the sub types. While doing that I'm seeing the following warnings in eclipse.
class Sorter {
<E> void sort(E[] elements);
};
class StringSorter {
// This gives me a warning 'hiding' to 'sort'
<String> void sort(String[] elements) {
}
// Gives me an error "The method someCrap(String[]) in the type StringSorter is not applicable for the arguments (String[])"
void someCrap(String[] elements) {
}
};
I would like to understand why eclipse gives the above warnings and errors.
View Replies
View Related
May 23, 2014
I need creating a java keyword program that can encipher and decipher a message using the provided keyword.
The keyword is :javbean
I have attached the message text as well...
public class Caesarcipher
{
public static final String ALPHABET = "abcdefghijklmnopqrstuvwxyz";
public static void main(String[] args)
{
String theKey = "JAVBEANDEFGHIJKLMNOPQRSTUVWXYZ";
String text= "message.txt";
[Code] ....
message.txt (763bytes)
View Replies
View Related
Jul 9, 2014
The super keyword when used explicitly in a subclass constructor must be the first statement but what about if i have a this(parameters) statements ? As the this one must also be the first statement... Does this means that i can have only one or the other ? What about when the super constructor is not explicit (aka implicit ) , can i use the this( parameters) in the same constructor ?
View Replies
View Related
Nov 7, 2014
I've been trying for a while to get my exception output to print in a particular form to System.err.
What I'm looking for as output is
KeywordException: edu.cofc.csci221.KeywordException: **Keyword Not Found**
I'm getting
Keyword Exception: edu.cofc.csci221.KeywordException
at edu.cofc.csci221.CheckLine.checkForInvalidKeyword(CheckLine.java:101)
at edu.cofc.csci221.ReadLogFile.main(ReadLogFile.java:47)
The code:
line = scan.nextLine();
try { check.checkForInvalidSymbols(line); } catch (SymbolException sEx) { System.err.print("Symbol Exception: "); sEx.printStackTrace(); }
try { check.checkForInvalidKeyword(line); }catch (KeywordException kEx) { System.err.print("Keyword Exception: "); kEx.printStackTrace(); }
if(check.checkFirstKeyword(line) && line.split(" ")[0].equals(keywords[0])) { System.out.println(line); }
[Code] ....
I'm just unsure of where to go/what to do.
View Replies
View Related