Download presentation
Presentation is loading. Please wait.
Published byἹππολύτη Ἀγαυή Αλεβίζος Modified over 6 years ago
1
Instance Method Review - CIS 1068 Program Design and Abstraction
Zhen Jiang CIS Dept. Temple University 1050 Wachman Hall, Main Campus 11/12/2018
2
Table of Contents Introduction Declaration and call Access and scope
11/12/2018
3
Introduction Why? Why loop Why array Why method
Why object (the host of instance method)? 11/12/2018
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) 11/12/2018
5
state: String name, breed int age
Dog class state: String name, breed int age behavior: writeOutput ( ) getAgeInHumanYears ( ) Dog object balto state: “Balto” (name) 8 (age) “Siberian Husky” (breed) behavior: getAgeInHumanYears ( ) writeOutput ( ) Dog object scooby state: “Balto” (name) 8 (age) “Siberian Husky” (breed) behavior: getAgeInHumanYears ( ) writeOutput ( )
6
Declaration and Call No more static How to use instance method m()?
public class A { public void m() { … } 11/12/2018
7
public 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(); 11/12/2018
8
public class A { public void m() { … } public static void m2() { A a = new A(); a.m(); 11/12/2018
9
For comparison public class A { public static void m() { … }
public void m2() { m(); public class B { public void m() { … } public void m3() { m() A.m(); 11/12/2018
10
For comparison public 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 B's static m2 11/12/2018
11
Constructor Name No return Not static Related to the use of new
Overloading 11/12/2018
12
Mutator Accessor toString Argument and parameter
Type (compatible & overloading) Primitive type and reference type (array & object) Accessor Return toString 11/12/2018
13
Constructor public class A { public A() { … } public A(int x) {
public class B { public void m3() { A a = new A(); A b = new A(2); } 11/12/2018
14
Mutator and accessor public 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! } 11/12/2018
15
Note: Every class has a toString method.
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. 11/12/2018
16
toString public 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); } 11/12/2018
17
Access and Scope Attribute (property, data field, etc) Parameter
What is “this” Parameter 11/12/2018
18
Attribute what is this public 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); } 11/12/2018
19
Parameter public 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); } 11/12/2018
20
Parameter public 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); } 11/12/2018
21
ArrayOperation. java vs. ArrayOperations. java http://www. cis. temple
11/12/2018
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.