When importing static members of a class. Why are they only accessible within the constructor of the calling class, and not outside of it? Here's the source code to understand my question.
package Certification;
public class ExamQuestion {
static public int marks ;
static public void print(){
System.out.println(100);
Why static member are allowed to be accessed with class-name and a null reference?
Here's the given code.
class Employee{ public static Integer companyId = 1001; // this could be private. public static Integer getCompanyId(){ return Employee.companyId; } //a setter method will be here if the companyId will be private. } public class TestStatic{ public static void main(String[] args){ Employee emp =null; emp.companyId = 11111; System.out.println(emp.getCompanyId()); } }
In this code the static members of a class are accessible by the null reference of that class.
These can also be access by the class (Employee.companyId or Employee.getCompanyId()).
What is the difference here in both. why a null reference can access these static members.
When we say derived class that means copy of base class plus subclass specific implementations. But when it comes to private members it cannot be accessible in subclass scope. Does it mean byte code generated for subclass doesn't has byte code of private members of super 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. } }
If i have a class(lets say class name is Approval) with the following private members: String recip_id, Int accStat, String pDesc, String startDate How can i create public get and setter methods for these private members of the class?
I am trying to implement the following example to override the equality and hashCode method if the class has reference type member. I do get the expected result "true" for equal and "false" for non-equal objects. But the print statement in the Circle's equal method is not executed when the objects values are not equal. I don't know what i am missing, though i get the equality result "false" as expected for non equal objects.
class Point{ private int x, y; Point (int x, int y) { this.x =x; this.y = y;
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) ?
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); } }
Let's say hypothetically you're making a huge program and use a lot of imports (ex import java.util). If you only need a few specific things from java.util, will it use more memory importing java.util.* compared to only importing lets say java.util.Scanner, java.util.ArrayList, etc. Basically does importing a whole package use more (if any at all) memory than only importing specific package parts?
I am working on a project involving a class that has the attributes of one of its inner classes. Now, if possible, I would like to make it so that the inner class is not visible outside of the class. Also, some of the functional mechanics require that the class be an instance of the nested inner class (it extends the inner class). The following code snippet demonstrates the situation.
public class A extends A.B { public static class B { //ideally I would like this to be private/protected. } }
When I try to compile this program, I get the error message "Cyclical inheritance involving A." This error does not make much sense because, since the inner class "B" is static, it requires no instance of "A" (it does not inherit from "A" or uses it). My question is "Is it possible to do something similar to this structure?" I have searched many forums in search of the answer but have not found anything that attempts to explain it. The closest problem that I have found is one relating to the inheritance of a nested inner class from another class. I would like to express that the problem that I am having involves a class defined within the inheriting class.
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.
I have a class Tree in which all the methods to build a tree are in place. But however I would want variable of by Tree which is pointing to the last node being added to the tree.
So basically every time you keep adding a node to the tree you tail pointer gets updated to point to the last node. I have this so far.
public class NonEmptyTree implements Tree { private Tree left; private int data; private int leftleafCount; private int rightleafCount; private Tree right; private Tree tail; // This variable must be shared by all the object. There needs to just one tail pointer to the tree. public Tree insert( data ) { tail = // gets updated every time when new node gets added.
Sandwich class. I have thus far completed creating a sandwich class with a seperate sandwich Tester class to run with it. (this is according to the assignment). Now I must create Static variables for the sandwich class:
Add two static variables to the Sandwich class to count how many sandwiches are sold and how many slices of tomato are used. Initialize each to 0.Where do you add code to increment the sandwich counter? Determine this and then add code.
public class Sandwich { static int numOfSold = 0; static int slicesUsed = 0; private String meat; private int numOfSlicesOfTomato; private boolean lettuce;
I am getting an error trying to access a static method of another class...theyre both in the same package, I've tried importing the class.
I've tried to do A b=new A() and then b.evaluate();
Everything that I try I get the following error:
Exception in thread "main" java.lang.NoClassDefFoundError: B$A Caused by: java.lang.ClassNotFoundException: B$A at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Code :
public class A{ public static String evaluate(String op) { } } public class B{ String output=A.evaluate(input); }
A common solution to this problem is to write a utility class whose responsibility is to log information. This class can have a flag that will allow you to turn the logging on and off. In addition you should be able to tell the class how much detail you want in the output. Ultimately, this class will give you the ability to control when information is logged, what information is logged, how often information is logged, and even where the information is logged. And you would be able to control all of this without changing a single line of code!
This type of utility class is commonly written using static methods and is referred to as a static class. In order to use the features of a utility class, the application can access the methods directly by referring the class name, eliminating the need to create an instance of the class in order to execute the methods.
import java.util.Arrays; import java.util.Comparator; class SimpleHolder extends Object { private final int value; public SimpleHolder(int value) { this.value = value;
[Code] ....
According to The Java Tutorial, static nested classes should not have access to other members of the enclosing class. I'd suppose to get compile-time error in the BasicComparator class. However, my code compiles just fine. Am I missing something?
I have a list of uninstanciated class types and I wanted to call a static function from these "Class<? extends PropControl>" (without using reflection) that would create a new corresponding object instance but it appears I cant do that in java so now I want to create a factory that takes a class type as aparameter to create the corresponding object instance but this code dont compile:
Java Code:
public PropControl Create(Class<? extends PropControl> cls) { if(cls==HouseControl.class) <---- ERROR { here I create a new instance of HouseControl (that inherits PropControl) } } mh_sh_highlight_all('java');
I get this error :
incomparable types: Class<CAP#1> and Class<HouseControl>
where CAP#1 is a fresh type-variable:
CAP#1 extends PropControl from capture of ? extends PropControl
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}; }