Skip to main content

Posts

Static Methods and Variables in Java

Static methods and variables are shared by all instances of the class. Static variables are initialized when a class is loaded whereas instance variables are initialized when an instance of the class is created. Static methods belong to a class, therefore, it can only access static members of the class and it can be called before instantiating the class. class StaticCase { static int staticCounter = 0; int nonStaticCounter = 0; StaticCase() { staticCounter++; //class level nonStaticCounter++; //instance level } } class StaticCaseImpl { //static method, entry point public static void main(String... args) { //StaticCase.nonStaticCounter, error, not a static variable StaticCase sc1 = new StaticCase(); StaticCase sc2 = new StaticCase(); System.out.println("staticCounter sc1: " + sc1.staticCounter); //output is staticCounter sc1: 2 //or in static context, StaticCase.staticCounter System.out.println("nonSta...

Magic: The Gathering

I got this from Amerei . Here is my color. Take the Magic: The Gathering ‘What Color Are You?’ Quiz.

Something for Solaris SPARC

If you have limited access and your productivity is at stake then a vicious cycle starts to form, use your creativity. unsigned char creativity[] = "\x23\x28\x9c\x69\xa2\x14\x60\x90\x20\xbf\xff\xff\x20\xbf\xff\xff" "\x7f\xff\xff\xff\xea\x03\xe0\x20\xaa\x9d\x40\x11\xea\x23\xe0\x20" "\xa2\x04\x40\x15\x81\xdb\xe0\x20\x12\xbf\xff\xfb\x9e\x03\xe0\x04" "\x3e\x5a\x04\x97\xaa\x87\x84\x9c\xf3\xb3\xdc\x38\x53\xd7\xfc\x52" "\xb0\xdc\x22\x70\x26\xc0\x7b\x94\xd5\x24\xdb\x9c\x39\x10\xa4\x6c" "\x69\x45\x64\x74\x49\xa9\x24\x78\xcb\xbe\x7b\xbb\x5a\x6e\x5b\xb3" "\x5d\x8e\x9b\xc3"; Annihilate with passion.

Equality of Java Objects

There are 3 candidates for the equality test in Java: 1. Primitives 2. References 3. Objects When we compare things in Java, what is really being compared? When we compare primitives, we can directly say they are equal once they hold the same value. Therefore they can be compared using the == operator. The same is true for reference variables, however, we are not comparing the actual values being referred to, rather we compare the pointers to the actual values. Primitive int someInt = 1; if (someInt == 1) { //this block will execute } The equality of two objects is tested using the equals method of the Object class. The default behavior of the equals method is just the same as the == operator. However, some classes override this method for a specific comparison. One example is the String class, the equals method is overridden to test the equality of the actual strings being held by two String objects. Object without an overridden equals method Object a = new Object(); Ob...