Title: Instance Method Review - CIS 1068 Program Design and Abstraction
1Instance Method Review - CIS 1068 Program
Design and Abstraction
- Zhen Jiang
- CIS Dept.
- Temple University
- 1050 Wachman Hall, Main Campus
- Email zhen.jiang_at_temple.edu
2Table of Contents
- Introduction
- Declaration and call
- Access and scope
3Introduction
- Why?
- Why loop
- Why array
- Why method
- Why object (the host of instance method)?
4- Every thing under the control inside of object
(which must be declared in the class, as a
general template to cover all possible
changes/statuses)
5Dog class state String name, breed int
age behavior writeOutput ( )
getAgeInHumanYears ( )?
- Dog object
- balto
- state Balto (name)
- 8 (age)
- Siberian Husky (breed)
- behaviorgetAgeInHumanYears ( )
- writeOutput ( )
- Dog object
- scooby
- state Balto (name)
- 8 (age)
- Siberian Husky (breed)
- behaviorgetAgeInHumanYears ( )
- writeOutput ( )
6Declaration and Call
- No more static
- How to use instance method m()?
public class A public void m()
7public class A public void m()
public void m2() m()
- public class B
- public void m()
-
-
- public void m3()
- m()
- A a //a.m is not supported
- A b new A ()
- b.m()
-
8public class A public void m()
public static void m2() A a
new A() a.m()
9public class A public static void m()
public void m2() m()
- public class B
- public void m()
-
-
- public void m3()
- m()
- A.m()
-
10public class A public void m1()
System.out.println("A's m1") m2()public
static void m2()System.out.println("A's static
m2")
- public class B public void m1() A a new
A() a.m1() A.m2()public static void
m2() System.out.println("B's static m2") B b2
new B() b2.m1()public static void
main(String args) A a new A() B b new
B() b.m1() B.m2()
A's m1 A's static m2 A's static m2 B's static
m2 A's m1 A's static m2 A's static m2
11- Constructor
- Name
- No return
- Not static
- Related to the use of new
- Overloading
12- Mutator
- Argument and parameter
- Type (compatible overloading)
- Primitive type and reference type (array
object) - Accessor
- Return
- toString
13public class A public A()
public A(int x)
- public class B
- public void m3()
- A a new A()
-
- A b new A(2)
-
14public class A public A()
public void a()
public void A()
- public class B
- public void m3()
- A a new A()
- a.a()
- a.A() // but very confused!
-
15- When an object is printed or concatenated with a
String, Java calls the object's toString method. - System.out.println("p1 is " p1)
- is equivalent to
- System.out.println("p1 is " p1.toString())
- Note Every class has a toString method.
16public class A private int x 2 public
A() public String
toString () // no parameter! return a
x
- public class B
- public void m3()
- A a new A()
- System.out.println(a)
-
17Access and Scope
- Attribute (property, data field, etc)
- What is this
- Parameter
18public class A private int x public
A(int y) x y public void
m(int x) // int x this.x x
public String toString() return x
- public class B
- public void m3()
- A a new A(2)
- a.m(3)
- System.out.println(a)
-
19public class A public int x public A(int
y) x y public void n()
// another method // other than m
public void m(A a) // x and a.x // n()
and a.n()
- public class B
- public void m3()
- A a new A(2)
- A b new A(3)
- a.m(b)
-
20public class A private int x public
A(int y) x y public void
n() // another method // other than m
public int getX() return x
public void m(A a) // x and a.getx() //
n() and a.n()
- public class B
- public void m3()
- A a new A(2)
- A b new A(3)
- a.m(b)
-
21- ArrayOperation.java vs. ArrayOperations.java
- http//www.cis.temple.edu/jiang/ArrayOperation.ja
va - http//www.cis.temple.edu/jiang/ArrayOperations.j
ava