34
7 7 Java Programming Language Mr.Rungrote Phonkam [email protected]

Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

77

Java Programming LanguageMr.Rungrote [email protected]

Page 2: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

ContentsContents

1. Method Member #22. Constructor3. Finalize4. Mutation and Assessor Method5. Overloading6. Static Scope7. Inner Class

1. Method Member #22. Constructor3. Finalize4. Mutation and Assessor Method5. Overloading6. Static Scope7. Inner Class

Java Programming Language by Rungrote Phonkam

Page 3: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

1. Method Member #21. Method Member #21. Method Member #2

� ������������� �����������������������

� ���������������������� ���– Copy Value Parameter– Reference Parameter

� ��������������� ��� !"������#$"%������ Data &�"' ��(���������($ �)� ��������#$��#$" ������%��&�� ����#��*����($���������#���&��'��� ����+,

� -����*�� ��������������*��( �������!"������.� "�����$�return

� ������������� �����������������������

� ���������������������� ���– Copy Value Parameter– Reference Parameter

� ��������������� ��� !"������#$"%������ Data &�"' ��(���������($ �)� ��������#$��#$" ������%��&�� ����#��*����($���������#���&��'��� ����+,

� -����*�� ��������������*��( �������!"������.� "�����$�return

Java Programming Language by Rungrote Phonkam

Page 4: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

1. Method Member #21. Method Member #21. Method Member #2

���������������������������������������

Java Programming Language by Rungrote Phonkam

Access_Level final static Return_Type Method_Name ( Argument_List ){

Statementsreturn Expression

}

Page 5: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

1. Method Member #21. Method Member #21. Method Member #2

Java Programming Language by Rungrote Phonkam

�������� 1

void methodA ( ){ … }

�������� 1

void methodA ( ){ … }

�������� 2

void methodB (int a){ … }

�������� 2

void methodB (int a){ … }

Page 6: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

1. Method Member #21. Method Member #21. Method Member #2

Java Programming Language by Rungrote Phonkam

�������� 3

void methodC (char c, Double obj){ … }

�������� 3

void methodC (char c, Double obj){ … }

�������� 4

int methodD (Float f){ …

return 15;}

�������� 4

int methodD (Float f){ …

return 15;}

Page 7: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

1. Method Member #21. Method Member #21. Method Member #2

Java Programming Language by Rungrote Phonkam

�������� 5

Double methodE (Double obj){ …

return new Double(12.45);}

�������� 5

Double methodE (Double obj){ …

return new Double(12.45);}

�������� 6

String methodG (){ … ..

return new Double(12.45);…...

}

�������� 6

String methodG (){ … ..

return new Double(12.45);…...

}

Page 8: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

2. Constructors2. Constructors2. Constructors

�����������

� ������������� � ������������������������

� �� ������������ �������������! Data "�#�����������

� � ��������������� �$%�� �����#&��!� ���'�����

� �'��������'�� ����(�������������������)���'�#�*$�!!

� ����+���'�#������������� ����������������������' �������������������*$�!!�� �*$�!!�����

� ������������� ) �������������� �� � �� ���,������&)$

�����������

� ������������� � ������������������������

� �� ������������ �������������! Data "�#�����������

� � ��������������� �$%�� �����#&��!� ���'�����

� �'��������'�� ����(�������������������)���'�#�*$�!!

� ����+���'�#������������� ����������������������' �������������������*$�!!�� �*$�!!�����

� ������������� ) �������������� �� � �� ���,������&)$

Java Programming Language by Rungrote Phonkam

Page 9: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

2. Constructors2. Constructors2. Constructorsclass Pen{ private String color;

Pen(String c) { color = c; }public void printPenColor( ){ System.out.println(“Pen is “ + color); }

}class MyPen{ public static void main(String args[])

{ Pen Pen1 = new Pen(“RED”);Pen Pen2 = new Pen(“BLUE”);Pen1.printPenColor( ); Pen2.printPenColor( );

}}

class Pen{ private String color;

Pen(String c) { color = c; }public void printPenColor( ){ System.out.println(“Pen is “ + color); }

}class MyPen{ public static void main(String args[])

{ Pen Pen1 = new Pen(“RED”);Pen Pen2 = new Pen(“BLUE”);Pen1.printPenColor( ); Pen2.printPenColor( );

}}

Java Programming Language by Rungrote Phonkam

Page 10: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

2. Constructors2. Constructors2. Constructors

Java Programming Language by Rungrote Phonkam

java MyPenPen is REDpen is BLUE

Page 11: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

3. Finalize3. Finalize3. Finalize

���� � �

� ���������������������!�������������

� ���������!'! �� ����'�#� �!��� ��# ���������

� ������������������ ����������� (*����'�#'� -���')� Garbage

Collector

� ��"�.�� �� �� � C++ � ����������������'������� ��)/��')'��� ����������,���-���&� Deconstructor ����-0������� ���������������� free ��!���������

���� � �

� ���������������������!�������������

� ���������!'! �� ����'�#� �!��� ��# ���������

� ������������������ ����������� (*����'�#'� -���')� Garbage

Collector

� ��"�.�� �� �� � C++ � ����������������'������� ��)/��')'��� ����������,���-���&� Deconstructor ����-0������� ���������������� free ��!���������

Java Programming Language by Rungrote Phonkam

Page 12: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

3. Finalize3. Finalize3. Finalize

"��-��'������������������) ���#!���#"��-��'������������������) ���#!���#

Java Programming Language by Rungrote Phonkam

������������� ��

��������������� ��

A. ���������

������������� ��

��������������� ��

B. ������������������

������������� ��

��������������� ��

C. ���� ��

������������� ��

��������������� ��

D. ��������� ���!���" ������"�����

Page 13: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

3. Finalize3. Finalize3. Finalize

"��-��'���������������������#!���# (�������-��� &��������#&����)"��-��'���������������������#!���# (�������-��� &��������#&����)

Java Programming Language by Rungrote Phonkam

������������� ��

��������������� ��

A. ���������

������������� ��

��������������� ��

B. ������������������

������������� ��

��������������� ��

C. ���� ��

������������� ��

��������������� ��

D. ��������� ���!���" ������"�����

Page 14: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

3. Finalize3. Finalize3. Finalizeclass Connection{ Connection( )

{ System.out.print(" Connecting\n"); }void SendData( ){ System.out.print(" Sending\n"); }protected void finalize( ) throws Throwable{ System.out.print(" Closing\n"); }

}class MyConnection{ public static void main(String args[])

{ Connection conn = new Connection( );conn.SendData( );System.runFinalizersOnExit(true);

}}

class Connection{ Connection( )

{ System.out.print(" Connecting\n"); }void SendData( ){ System.out.print(" Sending\n"); }protected void finalize( ) throws Throwable{ System.out.print(" Closing\n"); }

}class MyConnection{ public static void main(String args[])

{ Connection conn = new Connection( );conn.SendData( );System.runFinalizersOnExit(true);

}}

Java Programming Language by Rungrote Phonkam

Page 15: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

3. Finalize3. Finalize3. Finalize

Java Programming Language by Rungrote Phonkam

javac –deprecation FileName.javajava MyConnection

Page 16: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

4. Mutation and Assessor4. Mutation and Assessor4. Mutation and Assessor

���������� (Mutation)

� �,���������!�����0�������� �� ���$'��#��$'�� ���� Data

"�#���'��� �� ���-��) ���������������$'��#��$'�� � Data �#���� ���������&# set �� � setData( )

�������� ��� (Assessor)

� �,���������!�����0�������� �� ������� �� ��� ���� Data

"�#���'��� �� ���-��) ��������������� ��� � Data �#���� ���������&# get �� � getData( )

���������� (Mutation)

� �,���������!�����0�������� �� ���$'��#��$'�� ���� Data

"�#���'��� �� ���-��) ���������������$'��#��$'�� � Data �#���� ���������&# set �� � setData( )

�������� ��� (Assessor)

� �,���������!�����0�������� �� ������� �� ��� ���� Data

"�#���'��� �� ���-��) ��������������� ��� � Data �#���� ���������&# get �� � getData( )

Java Programming Language by Rungrote Phonkam

Page 17: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

4. Mutation and Assessor4. Mutation and Assessor4. Mutation and Assessorclass Baby{ private String name;

private char gender;void setName(String n) { name = n; }String getName ( ) { return name; }void setGender(char g) { gender = g; }char getGender ( ) { return gender; }

}class MyBaby{ public static void main(String args[])

{ Baby Kid = new Baby( );Kid.setName(args[0]);Kid.setGender(args[1].charAt(0));if (Kid.getGender( )=='M')

System.out.print("My Son is ");else System.out.print("My Daughter is ");System.out.print(Kid.getName( ) ); }

}

class Baby{ private String name;

private char gender;void setName(String n) { name = n; }String getName ( ) { return name; }void setGender(char g) { gender = g; }char getGender ( ) { return gender; }

}class MyBaby{ public static void main(String args[])

{ Baby Kid = new Baby( );Kid.setName(args[0]);Kid.setGender(args[1].charAt(0));if (Kid.getGender( )=='M')

System.out.print("My Son is ");else System.out.print("My Daughter is ");System.out.print(Kid.getName( ) ); }

}

Java Programming Language by Rungrote Phonkam

Page 18: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

4. Mutation and Assessor4. Mutation and Assessor4. Mutation and Assessor

Java Programming Language by Rungrote Phonkam

java MyBaby Somchai MaleMy Son is Somchaijava MyBaby Somsrt FemaleMy Daughter is Somsri

Page 19: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

5. Overloading5. Overloading5. Overloading

������� �����

� � ��1��+2����3.�����������#�$��������&��(4

� ����(�����������,���� ���� �����)�� �� ���������������� �����

� �&����� ���������������������#(��� �������� ��� methodA(int a) �� methodB(char ch)

� ���� ����� ��� methodA(int a) �� methodB(int a, int b)

� ����(���)$�����!�,������&)$ �� ��������������)��

������� �����

� � ��1��+2����3.�����������#�$��������&��(4

� ����(�����������,���� ���� �����)�� �� ���������������� �����

� �&����� ���������������������#(��� �������� ��� methodA(int a) �� methodB(char ch)

� ���� ����� ��� methodA(int a) �� methodB(int a, int b)

� ����(���)$�����!�,������&)$ �� ��������������)��

Java Programming Language by Rungrote Phonkam

Page 20: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

5. Overloading5. Overloading5. Overloadingclass Flight1{ String captain_name; int qty_hostess, qty_seat;

void FlightTeam(String n, int h, int s){ captain_name = n; qty_hostess = h; qty_seat = s; }void FlightTeam(String n) { captain_name = n; }void FlightTeam(int s, int h, String n){ captain_name = n; qty_hostess = h; qty_seat = s; }void printInfo( ){ System.out.println("Captain Name \t\t" + captain_name);

System.out.println("Amount of Seat \t\t" + qty_seat);System.out.println("Amount of Air-Hostess\t" + qty_hostess);

}}

class Flight1{ String captain_name; int qty_hostess, qty_seat;

void FlightTeam(String n, int h, int s){ captain_name = n; qty_hostess = h; qty_seat = s; }void FlightTeam(String n) { captain_name = n; }void FlightTeam(int s, int h, String n){ captain_name = n; qty_hostess = h; qty_seat = s; }void printInfo( ){ System.out.println("Captain Name \t\t" + captain_name);

System.out.println("Amount of Seat \t\t" + qty_seat);System.out.println("Amount of Air-Hostess\t" + qty_hostess);

}}

Java Programming Language by Rungrote Phonkam

Page 21: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

5. Overloading5. Overloading5. Overloading

class AirLine{ public static void main(String args[])

{ Flight1 f1 = new Flight1();Flight1 f2 = new Flight1();Flight1 f3 = new Flight1();f1.FlightTeam("Peter Anderson", 5, 50);f2.FlightTeam("Sompong N. Lumpang");f3.FlightTeam(120, 10, "Alen Tangee");f1.printInfo(); f2.printInfo(); f3.printInfo();

}}

class AirLine{ public static void main(String args[])

{ Flight1 f1 = new Flight1();Flight1 f2 = new Flight1();Flight1 f3 = new Flight1();f1.FlightTeam("Peter Anderson", 5, 50);f2.FlightTeam("Sompong N. Lumpang");f3.FlightTeam(120, 10, "Alen Tangee");f1.printInfo(); f2.printInfo(); f3.printInfo();

}}

Java Programming Language by Rungrote Phonkam

Page 22: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

5. Overloading5. Overloading5. Overloading

Java Programming Language by Rungrote Phonkam

java AirLineCaptain Name Peter AndersonAmount of Seat 50Amount of Air-Hostess 5Captain Name Sompong N. Lumpang

Page 23: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

5. Overloading5. Overloading5. Overloadingclass Flight2{ String captain_name;

int qty_hostess, qty_seat;Flight2(String n, int h, int s){ captain_name = n; qty_hostess = h; qty_seat = s; }Flight2(String n){ captain_name = n; }Flight2(int s, int h, String n){ captain_name = n; qty_hostess = h; qty_seat = s; }void printInfo( ){ System.out.println("Captain Name \t\t" + captain_name);

System.out.println("Amount of Seat \t\t" + qty_seat);System.out.println("Amount of Air-Hostess\t" + qty_hostess);

}}

class Flight2{ String captain_name;

int qty_hostess, qty_seat;Flight2(String n, int h, int s){ captain_name = n; qty_hostess = h; qty_seat = s; }Flight2(String n){ captain_name = n; }Flight2(int s, int h, String n){ captain_name = n; qty_hostess = h; qty_seat = s; }void printInfo( ){ System.out.println("Captain Name \t\t" + captain_name);

System.out.println("Amount of Seat \t\t" + qty_seat);System.out.println("Amount of Air-Hostess\t" + qty_hostess);

}}

Java Programming Language by Rungrote Phonkam

Page 24: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

5. Overloading5. Overloading5. Overloadingclass AirLine{ public static void main(String a[])

{ Flight2 f1 = new Flight2("Peter Anderson", 5, 50);Flight2 f2 = new Flight2("Sompong N. Lumpang");Flight2 f3 = new Flight2(120, 10, "Alen Tangee");f1.printInfo(); f2.printInfo(); f3.printInfo();

}}

class AirLine{ public static void main(String a[])

{ Flight2 f1 = new Flight2("Peter Anderson", 5, 50);Flight2 f2 = new Flight2("Sompong N. Lumpang");Flight2 f3 = new Flight2(120, 10, "Alen Tangee");f1.printInfo(); f2.printInfo(); f3.printInfo();

}}

Java Programming Language by Rungrote Phonkam

Page 25: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

6. Static Block6. Static Block6. Static Block

������ ��� (Static Block)

� ��$�� �!'5��������������&#��#��&���� static

� ����(*�������#* "�#���'�� �'0����,���� (*����������!���������� �������� (Initialization)

� (*������������������������'�������'�-��)/'� Bytecodes �����* JVM

������class Class_Name {

static { … }}

������ ��� (Static Block)

� ��$�� �!'5��������������&#��#��&���� static

� ����(*�������#* "�#���'�� �'0����,���� (*����������!���������� �������� (Initialization)

� (*������������������������'�������'�-��)/'� Bytecodes �����* JVM

������class Class_Name {

static { … }}

Java Programming Language by Rungrote Phonkam

Page 26: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

6. Static Block6. Static Block6. Static Blockclass Employee{ String name;

long salary;short employee_number;

static int total_payroll;

static{ System.out.println(“Calculating payroll total “);

salary = 3000;}

}

class Employee{ String name;

long salary;short employee_number;

static int total_payroll;

static{ System.out.println(“Calculating payroll total “);

salary = 3000;}

}

Java Programming Language by Rungrote Phonkam

Page 27: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

7. Static Class7. Static Class7. Static Class

������� �� (Static Class)

� ������!��������������'�� ������#(�� Constructors, Method, Data

Member ����#* "�#�� �����4+�!����$%�������������

� (*�����������"�#���'�� ���������&#��#��&���� static

� ������� &��!��#��&���� this ) )��

������class Outer_Class_Name {

static class Inner_Class_Name{ … }…..

}

������� �� (Static Class)

� ������!��������������'�� ������#(�� Constructors, Method, Data

Member ����#* "�#�� �����4+�!����$%�������������

� (*�����������"�#���'�� ���������&#��#��&���� static

� ������� &��!��#��&���� this ) )��

������class Outer_Class_Name {

static class Inner_Class_Name{ … }…..

}

Java Programming Language by Rungrote Phonkam

Page 28: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

8. Inner Class8. Inner Class8. Inner Class

������� �� (Inner Class)

� �! ��$%� 3 �!!� Member Class

�'�����(*�������)&�"�#���'�� (�0��!���#&��! Data �'0Method)

� Local Class

�'����������)&�"�#�� Method

� Anonymous Class

�'�������������&#���������������������

������� �� (Inner Class)

� �! ��$%� 3 �!!� Member Class

�'�����(*�������)&�"�#���'�� (�0��!���#&��! Data �'0Method)

� Local Class

�'����������)&�"�#�� Method

� Anonymous Class

�'�������������&#���������������������

Java Programming Language by Rungrote Phonkam

Page 29: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

8. Inner Class8. Inner Class8. Inner Class

� ) ����(����(��)��"�#�����&�'������$%� Parent

� ���0��!���������'�������������) ��� (*�������������������0!! GUI �� �������! Event Handler

� ) ����(����(��)��"�#�����&�'������$%� Parent

� ���0��!���������'�������������) ��� (*�������������������0!! GUI �� �������! Event Handler

Java Programming Language by Rungrote Phonkam

Page 30: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

8.1. Member Class8.1. Member Class8.1. Member Classclass top {

int I=33;

class myNested {int k=I;void foo() { }

}

void bar() {myNested mn1 = new myNested();myNested mn2 = new myNested();mn1.k = 564 * mn2.k;

}}

class top {int I=33;

class myNested {int k=I;void foo() { }

}

void bar() {myNested mn1 = new myNested();myNested mn2 = new myNested();mn1.k = 564 * mn2.k;

}}

Java Programming Language by Rungrote Phonkam

Page 31: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

8.2. Local Class8.2. Local Class8.2. Local Class//<applet code=f.class height=100 width=200> </applet>

import java.applet.*;import java.awt.*;import java.awt.event.*;public class f extends Applet {

Button apple = new Button("press me");public void init() {

class MyinnerBHClass implements java.awt.event.ActionListener{ int i=1;

public void actionPerformed(ActionEvent e){ System.out.println("button pressed "+ i++ +" times"); }

}

add(apple);apple.addActionListener( new MyinnerBHClass() );

}}

//<applet code=f.class height=100 width=200> </applet>import java.applet.*;import java.awt.*;import java.awt.event.*;public class f extends Applet {

Button apple = new Button("press me");public void init() {

class MyinnerBHClass implements java.awt.event.ActionListener{ int i=1;

public void actionPerformed(ActionEvent e){ System.out.println("button pressed "+ i++ +" times"); }

}

add(apple);apple.addActionListener( new MyinnerBHClass() );

}}

Java Programming Language by Rungrote Phonkam

Page 32: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

8.2. Local Class8.2. Local Class8.2. Local Class

�����������

• f.class• f$1$MyinnerBHClass.class

�����������

• f.class• f$1$MyinnerBHClass.class

Java Programming Language by Rungrote Phonkam

Page 33: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

8.3. Anonymous Class8.3. Anonymous Class8.3. Anonymous Class//<applet code=f2.class height=100 width=200> </applet>import java.applet.*;import java.awt.*;import java.awt.event.*;public class f2 extends Applet {

Button apple = new Button("press me");public void init() {

add(apple);apple.addActionListener(

new ActionListener(){ public void actionPerformed(ActionEvent e)

{ System.out.println( e.paramString() + " pressed"); }} // end anon class

); // end method call}

}

//<applet code=f2.class height=100 width=200> </applet>import java.applet.*;import java.awt.*;import java.awt.event.*;public class f2 extends Applet {

Button apple = new Button("press me");public void init() {

add(apple);apple.addActionListener(

new ActionListener(){ public void actionPerformed(ActionEvent e)

{ System.out.println( e.paramString() + " pressed"); }} // end anon class

); // end method call}

}

Java Programming Language by Rungrote Phonkam

Page 34: Java Programming Language Mr.Rungrote Phonkam rungrote ...it.e-tech.ac.th/poohdevil/JavaConcepts/JavaConcepts07.pdf1. Method Member #2 3 void methodC (char c, Double obj) { … } void

8.3. Anonymous Class8.3. Anonymous Class8.3. Anonymous Class

�����������

• f.class• f$1.class

�����������

• f.class• f$1.class

Java Programming Language by Rungrote Phonkam