Creating Enums Without Using Enum Class And Private Static Final Keywords?
Jun 11, 2014
I am wondering if there is a way in jave to use enums WITHIN a class (without creating a separate enum class) without using private static final. Something like as folows:
class My Class {
myEnum {ACTIVE, INACTIVE, PENDING};
}
The String class stores the characters of the string internally as a private char[] and calling someString.length() results in getting the length field from the character array. I am looking to get the details on how the length is implemented. I understand it is a field, but in the original question I provide sample code and really want to know if/how the resulting byte code may differ when compiled, perhaps I am just not seeing the simple answer through my confusion.
I have an Abstract Class called GameColorEffect which contains a number of non-static Inner Classes that extend their Parent Class, GameColorEffect. I want to be able to create instances of the Inner Classes, however my IDE, eclipse, prompts me with the error:
No enclosing instance of type GameColorEffect is accessible. Must qualify the allocation with an enclosing instance of type GameColorEffect
And eclipse shows me a possible solution which is to turn the Inner Classes to static, this would allow me to create instances, but not really. This is because using methods from the static Inner Classes that change values in the Inner Classes will do this for every instance of the same Inner Class which is literally like a single instance. However, I want these Inner Classes to be individual with their values and still be able to use them outside as instances. I've found out a possible solution, which I'm not sure works like I want it to:
Java Code : GameColorEffect = new GameColorEffect.ExampleEffect(); mh_sh_highlight_all('java');
However, this is in-compact because sometimes all I need is to use just a method like:
Java Code : new GameColorEffect.ExampleEffect(intensity).applyEffect() mh_sh_highlight_all('java');
And another solution that I already knew prior was that I could make the Inner Classes proper classes not inside of the GameColorEffect class, but this is also in-compact because I will have to have so many classes for the so many effects that I have.
So I'd like to know what all the statement, not sure if it's the correct way of calling them but I'd like to know what like all of those purple-ish colored words in eclipse actually mean.Here's what I know so far, so if you can add some stuff to it or just correct me:
public - can be accessed by different classes. private - can't be accessed by different classes. static - adds a '.' which pretty much lets you like use methods on it? Not really sure about this one. final - a final value of a variable meaning it couldn't and willn't change? super - I have no clue, maybe something that has to be executed first? Not sure. void - bassicly you don't have to use return as it doesn't return any value. this - Uh-.. I think it has something to do with the class this keyword has been entered into, not quite sure what it does though.
I assume there are alot more but I am just not sure about these common ones, what the actually do and what's their purpose?
How would I go about and make an enum, that has Strings and Methods?I want to make a class called GraphicalEffects, this class and be instanstiated and it has a method to apply graphicalEffects AS methods or some type of references to methods in an ArrayList.
why using the get method(c.get(c.HOUR_OF_DAY)); gives me the correct hour(currently 19) but directly accesing c.HOUR_OF_DAY returns 11 ? It shows In the documentation that HOUR_OF_DAY is public.
import java.util.*; public class calendar2 { public static void main(String[] args) { new calendar2().timer(); } private void timer() { Calendar c=Calendar.getInstance(); //c.clear(); System.out.println(c.get(c.HOUR_OF_DAY)); System.out.println(c.HOUR_OF_DAY);
How can i take run time value for static final variable...my lecturer said first time assignment is possible for declared final variable but in my case it shows compile time error..I'm placing my program below with error message
class Sample { static final String cname; void print() { System.out.println(cname); } public static void main(String args[]) { cname=args[0]; Sample s=new Sample(); s.print(); } }
Sample.java:11: cannot assign a value to final variable cname. cname=args[0];
I've just started, so right now I'm reading about declaring enums, the book lists the following code
enum CoffeeSize { //8,10 & 16 are passed to the constuctor BIG(6), HUGE(10), OVERWHELMING(16); CoffeeSize(int ounces){ //constructor this.ounces = ounces;
[Code] .....
I'm assuming that code to be in a same file since enums can be declared within and outside a class, so I saved it into a file named "Coffee.java", it compiles just fine from command line but when I try to execute "java Coffee" it throws "Error: Could not find or load main class Coffee"...
I'm not really sure I understand the functional difference between a static and final variable/field. Oracle defines Class Variable as:
Class Variables (Static Fields) A class variable is any field declared with the static modifier; this tells the compiler that there is exactly one copy of this variable in existence, regardless of how many times the class has been instantiated. A field defining the number of gears for a particular kind of bicycle could be marked as static since conceptually the same number of gears will apply to all instances. The code static int numGears = 6; would create such a static field. Additionally, the keyword final could be added to indicate that the number of gears will never change.
If static will have the same value regardless of how many times it's used, then why use final (or vice versa)?
I have problems with private static void print section, something is missing? And in case 4, I want it to stop the program(end the loop) but it keeps going.
import java.util.Scanner; import java.util.ArrayList; public class Dogregister16 { public static ArrayList<Dog> dogregister = new ArrayList(); private static Scanner keyboard = new Scanner(System.in); public static void main(String[] args) { initiate();
[Code] ....
case 4: System.exit(0); System.out.println("Exit program"); } } } }
I thought you can only create a new object using private implementations and then using a constructor to set your arguments inside the parameters of the constructor to the instance variables but how come he created an object without any private implementations and just methods inside the constructor.
import javax.swing.JFrame; public class MyWindow extends JFrame { public static void main(String[]args){ new MyWindow(); } public MyWindow(){ setSize(500,500); setVisible(true); setTitle("MyWindow"); } }
From what i understand static methods should be called without creating an instance of the same class . If so why would they return an instance of the same class like in the following : public static Location locateLargest(double[][] a) , the Location class being the same class where the method is defined . I don't understand this , does it mean that every field and every method in the class must be static ? Meaning that you cannot have instances of the class because everything is static . Or it's just a mistake and the class Location cannot have a static method: public static Location locateLargest(double[][] a) ?
I have a enum class which contains some string which i am comparing to a string i get from a user
Java Code:
public enum Compare { a, b, c, d, e, f } class SomeClass { String method(String letter){ Compare word= Compare.valueOf(letter); } } mh_sh_highlight_all('java');
Everything works fine but when I added a new word to it like "g" it throws the IllegalArgumentException ?
Suppose I have an enum class named Faction and one of the constants is named DAUNT. I created a class of the enum DAUNT but how can I pass in a DAUNT faction type in for Daunt?
Java Code:
public enum Faction { ALMIGHTY, AMBITION, DAUNT, RESTLESS, CAN; }
//new file public class Daunt { public Daunt() { } } mh_sh_highlight_all('java');
This is a someway special question, because I am using jmonkeyEngine.
But the topic is simple:
I have 2 classes:
public class Spielbrett extends SimpleApplication { public static void main(String[] args) { Spielbrett app = new Spielbrett(); app.start(); } @Override public void simpleInitApp() {
[Code]...
as the main class and a second class for the chips:
public class Spielstein { public Spatial stone; public int player; public int team; private AssetManager assetManager = Spielstein.getAM(); //THIS IS THE PROBLEM public Spielstein(int t_player, int t_team){
[Code]...
My problem is: I can't access getAM() from the first in the second class. If you know why I would be glad for an answer.
I’m trying to understand how to decide when to make a nested class static or non-static. These are my assumptions.
1) Make a nested class static if each instance of its enclosing class may have one or more instances of its nested class, for example, a HashMap has a static HashMap.Entry nested class because each HashMap instance may have one or more HashMap.Entry instances
2) Make a nested class non-static if each instance of its enclosing class must have only one instance of its nested class, for example, an AbstractButton has a non-static AbstractButton.Handler nested class because each AbstractButton instance must have only one AbstractButton.Handler instance.
I wrote a code to use static class. But, when I call the class in a outer class but, it gives an error. Is it mandatory to have a static class should have static variables when we declaring them??
public class StaticClassMain { static class Sub{ String str="Example 1"; } public static void main(String[] args) { System.out.println(Sub.str); } }
I'm working on a project that contains multiple classes. Each class contains and must contain only PRIVATE variables. Here's my issue. When my test code calls for a new instance of "StudentClass" as so:
StudentClass studentClass = new StudentClass(offeredClass.getClassIdNumber(), offeredClass.getClassName(), offeredClass.getClassroom());
The corresponding constructor won't let me initialize it's variables because they are declared private within another class, as shown here:
When getClassName, getClassroom, and getClassIdNumber are passed to a toString() method elsewhere in my test code. the output is returned just fine. When passed through the StudentClass, I'm getting Null across the board.