Chi tiết về khai bỏo một phương thức

Một phần của tài liệu Bé gi¸o dôc vμ ®μo t¹o Trêng ®¹i häc s ph¹m kü thuËt hng yªn pot (Trang 57 - 61)

1. Tổng quỏt một phương thức được khai bỏo như sau:

accessLevel //mụ tả mức độ truy cập đến phương thức static //đõy là phương thức lớp

abstract //đõy là phương thức khụng cú cài đặt final //phương thức này khụng thể ghi đố

native //phương thức này được viết trong một ngụn ngữ khỏc synchronized //đõy là phương thức đồng bộ

returnType //giỏ trị trả về của phương thức MethodName //tờn của phương thức

throws exception

//khai bỏo cỏc ngoại lệ cú thể được nem ra từ phương thức

Trong đú:

- accessLevel cú thể là một trong cỏc từ khoỏ public, private, protected hoặc bỏ trống, ý nghĩa của cỏc bổ từ này được mụ tả trong phần khai bỏo lớp

- static là từ khoỏ bỏo cho java biết đõy là một phương thức lớp

- abstract từ khoỏ cho biết đõy là một lớp trừu tượng, nú khụng cú cài đặt.

con

- native đõy là từ khoỏ bỏo cho java biết phương thức này được viết bằng một ngụn ngữ lập trỡnh nào đú khụng phải là java ( thường được viết bằng C/C++) - synchronized đõy là một phương thức đồng bộ, nú rất hữu ớch khi nhiều phương thức cựng truy cập đồng thời vào tài nguyờn miền găng

- returnType là một kiểu dữ liệu, đõy là kiểu trả về của phương thức, khi phương thức khụng trả về dữ liệu thỡ phải dựng từ khoỏ void

- MethodName là tờn của phương thức, tờn của phương thức được đặt theo quy tắc đặt tờn của java

- throws là từ khoỏ dựng để khai bỏo cỏc ngoại lệ cú thể được nộm ra từ phương thức, theo sau từ khoỏ này là danh sỏch cỏc ngoại lệ cú thể được phương thức này nộm ra

Chỳ ý:

1) Nếu trong lớp cú ớt nhất một phương thức trừu tượng thỡ lớp đú phải là lớp trừu tượng

2) khụng cú thuộc tớnh trừu tượng

3) ta khụng thể tạo đối tượng của lớp trừu tượng

4) khỏc với ngụn ngữ C/C++, java bắt buộc bạn phải khai bỏo giỏ trị trả về cho phương thức, nếu phương thức khụng trả về dữ liệu thi dựng từ khoỏ void (trong C/C++ khi ta khụng khai bỏo giỏ trị trả về thỡ mặc định giỏ trị trả về là int)

2. Nhận giỏ trị trả về từ phương thức

Ta khai bỏo kiểu giỏ trị trả về từ lỳc ta khai bỏo phương thức, bờn trong thõn của phương thức ta phải sử dụng phỏt biểu return value; để nhận về kết quả, nếu hàm được khai bỏo kiểu void thỡ ta chỉ sử dụng phỏt biểu return; mệnh đề return đụi khi cũn được dựng để kết thỳc một phương thức.

Khi ta viết cỏc phương thức, một số phương thức yờu cầu phải cú một số tham số, cỏc tham số của một phương thức được khai bỏo trong lời khai bỏo phương thức, chỳng phải được khai bỏo chi tiết cú bao nhiờu tham số, mỗi tham số cần phải cung cấp cho chỳng một cỏi tờn và kiểu dữ liệu của chỳng.

Vớ dụ: ta cú một phương thức dựng để tớnh tổng của hai số, phương thức này được khai bỏo như sau:

public double tongHaiSo(double a, double b){ return (a + b);

}

1. Kiểu tham số

Trong java ta cú thể truyền vào phương thức một tham số cú kiểu bất kỳ, từ kiểu dữ liệu nguyờn thuỷ cho đến tham chiếu đối tượng.

2. Tờn tham số

Khi bạn khai bỏo một tham số để truyền vào phương thức thỡ bạn phải cung cấp cho nú một cỏi tờn, tờn nay được sử dụng bờn trong thõn của phương thức để tham chiếu đến tham số được truyền vào. (adsbygoogle = window.adsbygoogle || []).push({});

Chỳ ý: tờn của tham số cú thể trựng với tờn của thuộc tớnh, khi đú tờn của tham số

sẽ “che” đi tờn của phương thức, bởi vậy bờn trong thõn của phương thức mà cú tham số cú tờn trựng với tờn của thuộc tớnh, thỡ khi nhắc đến cỏi tờn đú cú nghĩa là nhắc đến tham số.

3. Truyền tham số theo trị

Khi gọi một phương thức mà tham số của phương thức cú kiểu nguyờn thuỷ, thỡ bản sao giỏ trị của tham số thực sự sẽ được chuyển đến phương thức, đõy là đặc tớnh truyền theo trị ( pass- by – value ), nghĩa là phương thức khụng thể thay đổi giỏ trị của cỏc tham số truyền vào.

public class TestPassByValue { public static void test(int t) { t++;

System.out.println("Gia tri của t bi?n trong ham sau khi tang len 1 la " + t); }

public static void main(String[] args) { int t = 10;

System.out.println("Gia tri của t tru?c khi gọi ham = " + t); test(t);

System.out.println("Gia tri của t truoc khi gọi ham = " + t); }

}

ta se nhận được kết quả ra như sau: Gia tri của t truoc khi gọi ham = 10

Gia tri của t bờn trong ham sau khi tang len 1 la 11 Gia tri của t truoc khi gọi ham = 10

4. Thõn của phương thức

Trong vớ dụ sau thõn của phương thức isEmpty và phương thức pop được in đậm và cú mầu đỏ

class Stack {

static final int STACK_EMPTY = -1; Object[] stackelements;

... boolean isEmpty() { if (topelement == STACK_EMPTY) return true; else return false; } Object pop() { if (topelement == STACK_EMPTY) return null; else { return stackelements[topelement--]; } }

Một phần của tài liệu Bé gi¸o dôc vμ ®μo t¹o Trêng ®¹i häc s ph¹m kü thuËt hng yªn pot (Trang 57 - 61)