27 July 2016

Ghi đè phương thức (Method Overriding in Java)

Ghi đè phương thức
1, Ghi đè phương thức
Hai method cùng tên, danh sách tham số cùng nhau, kiểu trả về cùng nhau, modifier có thể khác nhau.
Nếu lớp con không có phương thức đó thì mới lên kiếm ở lớp cha để chạy.

Kiến thức ngoài lề:
Phương thức trong java
public<modifier> void<kiểu trả về> demo<tên hàm>(int<khai báo danh sách tham số> a){
      // TODO Auto-generated method stub

}

Modifier có 2 loại

  • Access modifier: public, private, protected, defaul 
  • Non access modifier: final, abstract, static

Kiểu trả về:

  • void<không cần return>
  • Dữ liệu nguyên thủy: int ,float, boolean <có return>
  • Object: string, object... <có return>

Tên hàm: động từ

Danh sách tham số: rỗng hoặc nhiều <=6.


2, Ví dụ
Override method
Java 2016
package com.giaima;

public class A extends B {
 
 @Override
 public void run() { //khác modifier
  super.run();
 }

 public static void main(String args[]) {
  A a = new A();
  a.run();
 }
}

class B {
 protected void run() {
  System.out.println("Bike is running safely");
 }

}
Output: Bike is running safely
Override Method
Java 2016
package com.giaima;

public class Test {
 public static void main(String args[]) {
  B b = new B();
  C c = new C();
  D d = new D();
  System.out.println(b.games());
  System.out.println(c.games());
  System.out.println(d.games());
 }
}

class A {
 int games() {
  return 1;
 }
}

class B extends A {

 @Override
 public int games() {
  return 6;
 }

}

class C extends A {

 @Override
 public int games() {
  return 7;
 }

}

class D extends A {
 
// @Override
// protected int games() {
//  return 8;
// }

}
Output: 
6
7
1

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang