I am not understanding below program.Runnable is an interface and constructor will not be there in any interface.In this program, how new Runnable(){...} is working?  public class Threads {     public static void main (String[] args) {         new Thread(new Runnable() {             public void run() {                 System.out.print("bar");         }}).start();         } }
1841
What is the use of anonymous classes in Java? Can we say that usage of anonymous class is one of the advantages of Java?
109435
What is the syntax and which namespace/class needs to be imported? Give me sample code if possible. It would be of great help.
52524
So I was making a class the other day and used Eclipse's method to create the equals method when I realized that it generated the following working code:  class Test {   private int privateInt;   [...]   public boolean equals(Object obj) {     [...]     Test t = (Test) obj;     if ( t.privateInt == privateInt ) {     [...]   } }   t.privateInt..???? It's suppose to be private! So I guess there is one more field visibility other than private, protected, package protected and public.  So what is happening here? How is this called? Where would somebody use this? Doesn't this break encapsulation? What if the class didn't have a mutator and I changed this? Does this happen to C++ as well? Is this an OO idiom? If not, then why did Java do it?  Generally, where can I find information about this?  Thank you.
36187
When would you call Java's thread.run() instead of thread.start()?
49826
I've been trying to wrap my head around how threads work in Python, and it's hard to find good information on how they operate. I may just be missing a link or something, but it seems like the official documentation isn't very thorough on the subject, and I haven't been able to find a good write-up.  From what I can tell, only one thread can be running at once, and the active thread switches every 10 instructions or so?  Where is there a good explanation, or can you provide one? It would also be very nice to be aware of common problems that you run into while using threads with Python.
31989
Something that confuses me, but has never caused any problems... the recommended way to dispatch an event is as follows:  public event EventHandler SomeEvent; ... {     ....     if(SomeEvent!=null)SomeEvent(); }   In a multi-threaded environment, how does this code guarantee that another thread will not alter the invocation list of SomeEvent between the check for null and the invocation of the event?
121961
I have two classes, Foo and Bar, that have constructors like this:  class Foo {     Foo()     {       // do some stuff     }      Foo(int arg)     {       // do some other stuff     } }  class Bar : Foo {     Bar() : base()     {       // some third thing     } }   Now I want to introduce a constructor for Bar that takes an int, but I want the stuff that happens in Bar() to run as well as the stuff from Foo(int).  Something like this:  Bar(int arg) : Bar(), base(arg) {   // some fourth thing }   Is there any way to do this in C#?  The best I have so far is putting the work done by Bar() into a function, that also gets called by Bar(int), but this is pretty inelegant.
81630
Why does this test program result in a java.lang.IllegalMonitorStateException?  public class test {     static Integer foo = new Integer(1);     public static void main(String[] args) {         synchronized(foo) {             foo++;             foo.notifyAll();         }         System.err.println("Success");     } }   Result:  Exception in thread "main" java.lang.IllegalMonitorStateException         at java.lang.Object.notifyAll(Native Method)         at test.main(test.java:6)
38779
I'm new to Apex and development in general... So, I'm playing around coding and doing some badges in Trailhead. I created a small piece of code, as below, and have no actual use: public class GenderIdentifier {     public void DetermineGender(String Gender){                 if (Gender == 'Man'){             Gender = 'Male';             } else {             Gender = 'Female';         }            } }  If I make the method 'non-static' it works, and I can see it working fine executing as a anonymous block. If I make it static, I can't execute the anonymous block, as I get an Error like:  Non static method cannot be referenced from a static context: void GenderIdentifier.DetermineGender(String)  What am I doing wrong? It would make sense to have a method like this as Static. I think I misunderstood the concept of static methods.
93507
In C#, is there a way to instantiate an instance of a class without invoking its constructor?  Assume the class is public and is defined in a 3rd party library and the constructor is internal.  The reasons I want to do this are complicated but it would be helpful to know if it's possible using some kind of C# hackery.  NOTE: I specifically do not want to call any constructor so using reflection to access the internal constructor is not an option.
12512
Here is my problem: I've got a dialog with some parameters that the user can change (via a spinner for example). Each time one of these parameters is changed, I launch a thread to update a 3D view according to the new parameter value.  If the user changes another value (or the same value again by clicking many times on the spinner arrow) while the first thread is working, I would like to abort the first thread (and the update of the 3D view) and launch a new one with the latest parameter value.  How can I do something like that?  PS: There is no loop in the run() method of my thread, so checking for a flag is not an option: the thread updating the 3D view basically only calls a single method that is very long to execute. I can't add any flag in this method asking to abort either as I do not have access to its code.
105546
When modelling classes, what is the preferred way of initializing:   Constructors, or Factory Methods   And what would be the considerations for using either of them?  In certain situations, I prefer having a factory method which returns null if the object cannot be constructed. This makes the code neat. I can simply check if the returned value is not null before taking alternative action, in contrast with throwing an exception from the constructor. (I personally don't like exceptions)  Say, I have a constructor on a class which expects an id value. The constructor uses this value to populate the class from the database. In the case where a record with the specified id does not exist, the constructor throws a RecordNotFoundException. In this case I will have to enclose the construction of all such classes within a try..catch block.  In contrast to this I can have a static factory method on those classes which will return null if the record is not found.  Which approach is better in this case, constructor or factory method?
104558
I'm using a builder pattern to seperate a bunch of different configuration possibilities. Basically, I have a bunch of classes that are named an ID (something like ID12345). These all inherit from the base builder class. In my script, I need to instantiate an instance for each class (about 50) every time this app runs. So, I'm trying to see if instead of doing something like this:  ProcessDirector = ProcessDirector() ID12345 = ID12345() ID01234 = ID01234()  ProcessDirector.construct(ID12345) ProcessDirector.construct(ID01234)  ID12345.run() ID01234.run()   Can I do something like this (I know this doesn't work):  IDS = ["ID12345", "ID01234"]  ProcessDirector = ProcessDirector() for id in IDS:   builder = id() #some how instantiate class from string   ProcessDirector.construct(builder)   builder.run()   That way, when I need to add a new one in the future, all I have to do is add the id to the IDS list, rather than peppering the new ID throughout the code.   EDIT  Looks like there are some different opinions based on where the data is coming from. These IDs are entered in a file that no one else has access to. I'm not reading the strings from the command line, and I'd like to be able to do as little alteration when adding a new ID in the future.
77567
I've read in the  and the  the mention of inner classes. What is their purpose?  I see in the Apex Workbook that they used private variables and setter/getter methods in the inner class, but why didn't they just do that in the outer class with a constructer, getter, and setter?
81621
If I write the following class:  public class Example {        int j;       int k;        public Example(int j, int k) {            j = j;            k = k;       }        public static void main(String[] args) {            Example exm = new Example(1,2);            System.out.println(exm.j);            System.out.println(exm.k);       }  }   The program compiles, but when I run the program, the main method will print out two 0s. I know that in order to say that I want to initialize the instance variables in the constructor I have to write:  this.j = j; this.k = k;   But if I don't write it, then which variable is evaluated (or considered) in the constructor (on the left and on the write hand side of the expressions)? Is is the argument or the instance variable? Does it make a difference?  Are there other cases where the use of this is obligatory?
107809
I'm an entry level programmer so please be descriptive in your responses.  I am trying to use a Java API given as a .jar file in my C# .net application.  I don't know much Java, but this .jar file says "no main-class manifest attribute" when I try to run it so this means its a library?  This Java API also comes with a .java file which shows how to use the library but I cannot see the code inside the .jar.  I found  on this site, and one of the answers reads, "In simple way you can pack your java classes to jar file then In C# use Process class for execute and map IO stream."  I am semi-familiar with the Process class in C# but I don't understand how I could use it to use a Java library in my C# .net project.  Is this possible? or was that answer incorrect?  If so, could you explain how I can use the .jar library in my C# app.
120245
What's a better way to start a thread, _beginthread, _beginthreadx or CreateThread?  I'm trying to determine what are the advantages/disadvantages of _beginthread, _beginthreadex and CreateThread.  All of these functions return a thread handle to a newly created thread, I already know that CreateThread provides a little extra information when an error occurs (it can be checked by calling GetLastError)... but what are some things I should consider when I'm using these functions?  I'm working with a windows application, so cross-platform compatibility is already out of the question.  I have gone through the msdn documentation and I just can't understand, for example, why anybody would decide to use _beginthread instead of CreateThread or vice versa.  Cheers!  Update: OK, thanks for all the info, I've also read in a couple of places that I can't call WaitForSingleObject() if I used _beginthread(), but if I call _endthread() in the thread shouldn't that work? What's the deal there?