The two forms below work in the same way; the differences are just syntactic sugar.  and  Within a class text, the current type is the type obtained from the current class. Within features (routines, commands and queries) of a class, one may use the keyword codice_59 to reference the current class and its features. The use of the keyword codice_59 is optional as the keyword codice_59 is implied by simply referring to the name of the current class feature openly. For example: One might have a feature `foo' in a class MY_CLASS and refer to it by:   Line #10 (above) has the implied reference to codice_59 by the call to simple `foo'. Line #10 (below) has the explicit reference to codice_59 by the call to `Current.foo'. Either approach is acceptable to the compiler, but the implied version (e.g. codice_64) is preferred as it is less verbose. As with other languages, there are times when the use of the keyword codice_59 is mandated, such as: In the case of the code above, the call on line #11 to make_with_something is passing the current class by explicitly passing the keyword codice_59. The keyword codice_1 is a Java language keyword that represents the current instance of the class in which it appears. It is used to access class variables and methods. Since all instance methods are virtual in Java, codice_1 can never be null. In JavaScript, which is a programming or scripting language used extensively in web browsers, codice_1 is an important keyword, although what it evaluates to depends on where it is used. To work around the different meaning of codice_1 in nested functions such as DOM event handlers, it is a common idiom in JavaScript to save the codice_1 reference of the calling object in a variable (commonly called codice_90 or codice_2), and then use the variable to refer to the calling object in nested functions. For example: // In this example $ is a reference to the jQuery library  $(".element").hover(function() { });  In Lua, codice_2 is created as syntactic sugar when functions are defined using the codice_93 operator. When invoking a method using codice_93, the object being indexed will be implicitly given as the first argument to the function being invoked. For example, the following two functions are equivalent:  function obj.foo(arg1, arg2) end  function obj:bar(arg) end  -- All functions can be invoked both ways, with "."