Discover advantages of anonymous class in java, include the articles, news, trends, analysis and practical advice about advantages of anonymous class in java on alibabacloud.com
In the actual project to see a very strange phenomenon, Java can be directly new interface, and then rudely in new to join the implementation code. Just like this. So the question is, isn't it strange that new objects have no actual classes as vectors?Think about the output of the following code?new Runnable() { @Override public void run() { System.out.println(this.getClass()); } }; x.run();The actual answer is a
Recently in the look at JS, see Closure (closures) This together, I think of the anonymous inner class of Java both have a reference to the variable/parameter problem.First of all, the anonymous inner class of Java, his definition
Java anonymous internal class js closure, javajs
Recently, when I saw closure (closure) in Javascript, I thought that both of java's anonymous internal classes involved variable/parameter references.
Let's first talk about the anonymous internal
internal classes
1. Basic internal theory:
Java internal class: the definition of an internal class is defined within another class. The reason is:1) An internal class object can access the implementation of the object created for it, including private data. That is, an
stack cannot "die" as long as the anonymous inner class object is still alive.4. WORKAROUND: Anonymous Inner class objects can access local variables that are defined as final types in the same method . After the definition is final, the implementation of the compiler is that all final type local variables to be acces
class Demo {public static void main (string[] args) {person p = new person () {public void Eat () {System.out.println ( "Eat Something");}; P.eat ();}}Operation Result: Eat somethingAs you can see, we directly implement the methods in the abstract class person in curly braces.This allows you to omit the writing of a classAlso, anonymous inner classes can be used
constructor method. can be accessed directly with the interface name.Defined:Interface Inter {public static final int COUNT = 100;}Access:Inter.countthird, anonymous objectsAn anonymous object is a statement that creates an object, but does not assign an object address value to a variable.Create a Normal object
Person p = new person ();
Create an anonymou
of an anonymous inner class implementation of the 4:thread class?
public class Demo {public static void main(String[] args) {Thread t = new Thread() {public void run() {for (int i = 1; i 5; i++) {System.out.print(i + " ");}}};t.start();}}
Operation Result: 1 2 3) 4 5An
class Demo {public static void main (string[] args) {Person p = new person () {public void Eat () {System.out.println ("eat something");}};P.eat (); }}Operation Result: Eat somethingAs you can see, we directly implement the methods in the abstract class person in curly braces.This allows you to omit the writing of a classAlso, anonymous inner classes can be used
anonymous inner class implementation of the instance 4:thread class
public class Demo {public static void main(String[] args) {Thread t = new Thread() {public void run() {for (int i = 1; i 5; i++) {System.out.print(i + " ");}}};t.start();}}
Operation Result: 1 2 3) 4 5An
Anonymous inner class1. Definition:Implement an interface, or inherit a parent class, and return a good instance of new.2. Syntax:The implementation body of the new class name or interface name class3. What is the use of anonymous internal classes:Class is used immediately after it is created and is used only once4. No
Learning Android today, one way to implement the OnClick event for a button control is to use an anonymous class, where anonymous classes in Java are summarized.Anonymous inner class--an inner class without a name, because it has
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.