Presentation is loading. Please wait.

Presentation is loading. Please wait.

J AVA P ROGRAMMING 2 CH 04: C LASSES, O BJECTS AND M ETHODS (II) 0.

Similar presentations


Presentation on theme: "J AVA P ROGRAMMING 2 CH 04: C LASSES, O BJECTS AND M ETHODS (II) 0."— Presentation transcript:

1 J AVA P ROGRAMMING 2 CH 04: C LASSES, O BJECTS AND M ETHODS (II) 0

2 C ONTENT  Fundamentals of Java classes  Reference variables  Creating objects  Fundamentals of methods  Class and instance methods  Parameters and arguments  Using the keyword this  Constructors  Fields  Comparisons among variables categories  Loading classes 1

3 C ONSTRUCTORS  A constructor of a class is syntactically similar to a method, but with no explicit return type, which initializes an object or performs any other startup procedures required to create a fully formed object when it is created.  Each class has at least one constructor.  If there is no constructor specified in a class, javac automatically adds a default constructor ( 預設建構子 ). A default constructor is a non-arg, i.e. without parameter, constructor and does nothing, except calls the non-arg constructor of its super class.  If there is a constructor defined, no default constructor will be added by javac. Fall. 2014 2 Java Programming

4 C ONSTRUCTORS  The name of a class constructor must be the same as the class name.  A class may have more than one constructor, but with different parameter list.  Constructors are only activated by the new operator. Fall. 2014 3 Java Programming

5 E XAMPLE OF USING CONSTRUCTORS class MyClass { int x, y; MyClass() { x = 0; y = 0; } MyClass(int a) { x = a; y = 0; } MyClass(int a, int b) { x = a; y = b; } } class DemoMyClass { public static void main(String args[]) { MyClass obj1 = new MyClass(); MyClass obj2 = new MyClass(5); MyClass obj3 = new MyClass(4, 3 + 4); DemoMyClass obj4 = new DemoMyClass(); } Fall. 2014 4 Java Programming Remember javac automatically adds a default constructor for DemoMyClass class.

6 this KEYWORD  When a method is called, it is automatically passed an implicit argument that is a reference to the object receiving a message (that is, the object on which the method is called).  This reference is named this. Fall. 2014 5 Java Programming

7 E XAMPLE OF USING this class Pwr { double base; int exp; double val; Pwr(double base, int exp) { // instance fields base and exp are // hidden by parameters with the same name this.base = base; // this.base refers to the instance field // base refers to the parameter this.exp = exp; this.val = 1; // both this.val and val refer to the instance field if(exp==0) return; for( ; exp>0; exp--) this.val = this.val * base; } double get_pwr() { return this.val; } Fall. 2014 6 Java Programming

8 C OMPARISON VARIABLE CATEGORIES Fall. 2014 7 Java Programming Analysis FactorFieldsParametersLocal variables UsageStoring class or object properties Passing input values to methods Temporarily storing computation results Where declaredInside a class definition, but outside a method definition In the method headerInside a method definition or a code block How declaredtype name [ = value];type name;type name [ = value]; How initializedDefault, explicit, or by a constructor By the caller during invocation Explicit initialization, NO DEFAULT ScopeWithin class or outside the class Within the methodWithin the method or specific statement block

9 L OADING CLASSES  When a class is referred, as an argument of the command java or used by executing a class, the class is loaded into JVM memory space by the class loaders.  JVM creates a java.lang.Class object to represent the loaded class.  The java.lang.Class class provides many services to process classes.  The reflection mechanism can be done by using these services provided by Class class.  Reflection is commonly used by programs which require the ability to examine or modify the runtime behavior of applications running in the Java virtual machine. Fall. 2014 8 Java Programming

10 E XAMPLE OF USING java.lang.Class class DemoClass { public static void main(String args[]) { DemoClass obj = new DemoClass(); Class classObj = obj.getClass(); // get the Class object // representing the class from // which obj is created System.out.println(“The class name of obj: “ + obj.getName()); } Fall. 2014 9 Java Programming


Download ppt "J AVA P ROGRAMMING 2 CH 04: C LASSES, O BJECTS AND M ETHODS (II) 0."

Similar presentations


Ads by Google