|  
   Java 8 |  
   C # 6 |  
   Swift |  
  
 
   
   | Variable |  
   Type variable name; |  
   Type variable name; |  
   var variable name: type; |  
  
 
   
   | Variable (type inference) |  
   N/A |  
   var variable name = initial value; |  
   var variable name = initial value; |  
  
 
   
   | Constant |  
   Final type constant name = initial value; |  
   ReadOnly type constant name = initial value; |  
   Let constant name: type = initial value; |  
  
 
   
   | Basic type |  
   int short Long byte Double float Boolean Char  |  
   int short Long byte Double float bool Char  |  
   Int32 Int16 Int64 Int8 Double Float Bool Character  |  
  
 
   
   | String |  
   String Variable name = ""; |  
   String variable name = ""; |  
   Let variable name: string= ""; |  
  
 
   
   | String embedding value |  
   N/A |  
   "\{Expression}" |  
   "\ (expression)" |  
  
 
   
   | Variable string |  
   StringBuilder |  
   StringBuilder |  
   var variable name: String; |  
  
 
   
   | Fixed constant group |  
   Type [] Variable name ={element 1, Element 2}; |  
   Type [] Variable name ={element 1, Element 2}; |  
   Let variable name: type name [] = [element 1, Element 2]; |  
  
 
   
   | Variable-length arrays (list) |  
   arraylist< type > |  
   list< type > |  
   var variable name = type name [] (); |  
  
 
   
   | Append element |  
   Add |  
   Add |  
   Append |  
  
 
   
   | Traverse |  
   For (type variable: collection) |  
   foreach (type variable in collection) |  
   for (variable in collection) |  
  
 
   
   | Dictionary |  
   treemap< key types, value types > |  
   dictionary< key types, value types > |  
   dictionary< key types, value types > |  
  
 
   
   | Dictionary initialization |  
   treemap< key type, value type > variable name = new treemap< key type, value type > () { { Put (key 1, value 1); Put (key 2, value 2); } };  |  
   var variable name = new dictionary< key type, value type > () { [Key 1] = value 1, [Key 2] = value 2, };  |  
   var variable name: dictionary< key Type, value type >= [ Key 1: value 1, Key 2: Value 2 ];  |  
  
 
   
   | Dictionary subscript |  
   N/A (using the Get method) |  
   Variable name [key] |  
   Variable name [key] |  
  
 
   
   | Defining Functions (Methods) |  
   return type method Name (parameter type 1, parameter 1, argument type 2 formal parameter 2) {} |  
   Returns the Type method name (parameter type 1 parameters 1, parameter type 2 formal parameter 2 = default) {} |  
   Func function name (formal parameter 1: Parameter type 1, external parameter name parameter 2: Parameter type 2 = default), return type {} |  
  
 
   
   | Calling a function (method) |  
   Method Name (argument 1, argument 2); |  
   Method Name (argument 1, argument 2); |  
   function name (argument 1, external parameter name: argument 2); |  
  
 
   
   | Variable parameters |  
   Returns the Type method name (parameter type ...). Formal parameter) {} |  
   return type method name (params parameter type [] parameter) {} |  
   Func function name (formal parameter: parameter type ...) return type {} |  
  
 
   
   | Outgoing parameters |  
   N/A, wrapped inside the object |  
   return type method name (ref argument type parameter) {} Returns the Type method name (out parameter type parameters) {}  |  
   Func function name (inout parameter: argument type), return type {} |  
  
 
   
   | Calling outgoing parameters |  
   N/A |  
   Actual parameters |  
   & Actual Parameters |  
  
 
   
   | function type |  
   N/A, replace with single-method interface |  
   Action and Func series generic classes |  
   (parameter type 1, parameter type 2) –> return type |  
  
 
   
   | Closed Package |  
   (parameter type parameters)-expression  () –> { Multi-line statements }
  |  
   (argument type parameter) = = Expression  () = { Multi-line statements }
  |  
   {(formal parameter: parameter type) –> return type in expression}  {() –> () in Multi-line statements }
  |  
  
 
   
   | Enumeration |  
   Enum type name { enumeration value 1 (value 1), enumeration value 2 (value 2), enumeration value 3 (value 3); }  |  
   Enum type name { enumeration value 1= value 1, enumeration value 2= value 2, enumeration value 3= Value 3 }  |  
   Enum type name { Case enumeration value 1= value 1, enumeration value 2= value 2, enumeration value 3= value 3 }  |  
  
 
   
   | Structure (value type) |  
   N/A |  
   struct struct name {member} |  
   struct struct name {member} |  
  
 
   
   | Class (Reference type) |  
   Class Name {member} |  
   Class Name {member} |  
   Class Name {member} |  
  
 
   
   | Creating an Object instance |  
   New class name (argument 1, argument 2) |  
   New class or struct name (argument 1, argument 2) |  
   class or struct name (parameter name 1: Argument 1, external parameter name 2: Argument 2) |  
  
 
   
   | Static members |  
   Static |  
   Static |  
   struct and enum static, class and Interface class |  
  
 
   
   | Access level |  
   Public, publicly Protected, protection (in-package and subclass accessible) no modifier , default (in-package accessible) Private, privately
   |  
   Public, publicly Protected, protection (subclass accessible) Internal, internal (accessible within Assembly) protected internal, internal protection (subclasses within the assembly are accessible) Private, privately  |  
   Public, publicly internal, internal (accessible within the module) Private, privately  |  
  
 
   
   | Store Properties |  
   N/a,get set Prefix method naming convention |  
   Type property name {get; set;} = initial value; |  
   var attribute name: type = initial value; |  
  
 
   
   | Calculated properties |  
   N/a,get set Prefix method naming convention |  
   Type property name { Get { } Set {//parameter is value } }  |  
   var property name: type { get { } Set (parameter) {//If the parameter name is not written, the default is NewValue } }  |  
  
 
   
   | Indexer (subscript) |  
   N/A |  
   Return type this[parameter type argument] { Get { } Set {//parameter is value } }  |  
   Subscript (formal parameter: parameter type) –> return type { get { } set {//parameter is NewValue } }  |  
  
 
   
   | Constructors |  
   Class name (argument type parameter) {} |  
   Class name (argument type parameter) {} |  
   Init (formal parameter: parameter type) {} |  
  
 
   
   | Self instance |  
   This |  
   This |  
   Self |  
  
 
   
   | Calling other constructors |  
   Class name () { This (actual parameter); }  |  
   Class name (): this (argument) { }  |  
   Init () { Self.init (external parameter name: actual parameter); }  |  
  
 
   
   | Inherited |  
   Class derived class extends base class {member} |  
   Class Derived classes: base class {member} |  
   Class Derived classes: base class {member} |  
  
 
   
   | Call the base class constructor |  
   Derived class name (parameter type parameter) { Super (parameter); }  |  
   Derived class name (parameter type parameter): Base (parameter) { }  |  
   Init (parameter: parameter type) { Super.init (external parameter name: parameter); }  |  
  
 
   
   | Virtual functions |  
   Can be overridden by default and cannot overwrite the final |  
   Mark Virtual to cover |  
   Default can be overridden, non-overriding the superscript @final |  
  
 
   
   | Sealing class |  
   Final |  
   Sealed |  
   @final |  
  
 
   
   | Overwrite (override) |  
   Non-modified, can add @override |  
   Override |  
   Override |  
  
 
   
   | Call the base class method |  
   Super. Method (); |  
   Base. Method (); |  
   Super. Method (); |  
  
 
   
   | Type check |  
   Base class instance instanceof derived type |  
   Base class instance is derived type |  
   Base class instance is derived type |  
  
 
   
   | Down transformation |  
   Base class instance (derived type)
   |  
   Base class instance (derived type) Base class instance as derived type  |  
   Base class instance as derived type Base class instance as? Derived types  |  
  
 
   
   | Interface |  
   Interface |  
   Interface |  
   Protocol |  
  
 
   
   | Implementing interfaces |  
   Class Implement interface {member} |  
   Class: interface {member} |  
   Class: interface {member} |  
  
 
   
   | Abstract class |  
   Abstract |  
   Abstract |  
   N/A |  
  
 
   
   | Extended |  
   Default methods for interfaces |  
   Extension methods |  
   Extension |  
  
 
   
   | Name space |  
   Package |  
   Namespace |  
   by module |