Thứ Năm, 13 tháng 12, 2012

Bài 35: Override 1


Tóm tắt nội dung: Giới thiệu Override trong java.
Nội dung:  
Override là ta viết lại hành vi của các phương thức của SuperClass theo ý của riêng mình.
Code:

public class DemoJavaBasic extends A {

      public static void main(String[] args) {
            DemoJavaBasic dm = new DemoJavaBasic();
            dm.show();

      }

      public void show() {
            System.out.println("Phuong thuc cua lop con override tu lop cha");
      }
}

class A {
      public void show() {
            System.out.println("Phuong thuc cua lop cha");
      }
}
Ví dụ ở đoạn code trên phương thức show() của class DemoJavaBasic sẽ override lại phương thức show() của class A. Ở đây nó sẽ chỉnh sửa lại dòng in ra màn hình.
Lưu ý: Các access modifier khi override cũng phải tuân theo quy tắc thừa kế. Các bạn xem thêm clip để hiểu rõ hơn.
Nếu bạn có câu hỏi vui lòng để lại comment hoặc gởi câu hỏi theo địa chỉ: studyandsharevn@gmail.com.

Bài 34: Overload 2


Tóm tắt nội dung: Giới thiệu về overload trong java.
Nội dung:
Giữa SubClass và SuperClass.
Code:

public class DemoJavaBasic extends A{

      public static void main(String[] args) {
            DemoJavaBasic dm = new DemoJavaBasic();
            System.out.println(dm.add(2, 3));
            System.out.println(dm.add(2.3f, 3.3f));
            System.out.println(dm.add("chuoi 1 ", "Chuoi 2"));

      }

      public int add(int a, int b){
            return a+b;
      }
      public float add(float a, float b){
            return a+b;
      }
}
class A{
      public String add(String str1, String str2){
            return str1+str2;
      }
}
Hai phương thức add() trong class DemoJavaBasic overload lại phương thức add() của class A. Phương thức add() để in ra chuổi là trong hàm main là của superclass A.
Nếu bạn có câu hỏi vui lòng để lại comment hoặc gởi câu hỏi theo địa chỉ: studyandsharevn@gmail.com.

Bài 33: Overload 1


Tóm tắt nội dung: Giới thiệu overload trong java.
Nội dung:
Overload sử dụng trong 2 trường hợp:
-         Cùng Class.
-         Giữa SubClass và SuperClass.
Cùng Class
Code:

public class DemoJavaBasic {

      public static void main(String[] args) {
            DemoJavaBasic dm = new DemoJavaBasic();
            System.out.println(dm.add(2, 3));
            System.out.println(dm.add(2.3f, 3.3f));

      }

      public int add(int a, int b){
            return a+b;
      }
      public float add(float a, float b){
            return a+b;
      }
}
Overload tên của phương thức cùng tên nhưng khác tham số, kiểu trả về và access modifier.
Ví dụ: Hai phương thức add() ở đoạn code trên cùng tên nhưng khác về tham số truyền vào và cũng khác giá trị trả về.
Nếu bạn có câu hỏi vui lòng để lại comment hoặc gởi câu hỏi theo địa chỉ: studyandsharevn@gmail.com.

Bài 32: Throw And Throws


Tóm tắt nội dung: Giới thiệu throwthrows trong Java.
Nội dung:
Code:
public static void main(String[] args) {

      }

      class MyException extends Exception {
            //Do something

      }
      class Building {
            public void show() throws MyException{
                  throw new MyException();
            }
}
Ngoài cấu trúc try… catch thì ta cũng có thể dùng throw và throws để ném ra các ngoại lệ và đồng thời cũng có thể tạo ra các exception theo riêng mình.
-         Throws được dùng ở phần khai báo phương thức.
-         Throw được dùng trong thân của phương thức để ném các ngoại lệ.
Ví dụ ở đoạn code trên throw sẽ ném ra một ngoại lệ trong thân hàm thì throws cũng phải ném ra một ngoại lệ tương ứng.
Nếu bạn có câu hỏi vui lòng để lại comment hoặc gởi câu hỏi theo địa chỉ: studyandsharevn@gmail.com.

Bài 31: Try…Catch 2


Tóm tắt nội dung: Giới thiệu về cấu trúc try… catch trong Java.
Nội dung:
Code:

      public static void main(String[] args) {
            try {
                  Thread.sleep(1000);
            } catch (InterruptedException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
            }
      }
Ngoài RunTimeException thì còn CheckedException tức là nếu như không có khối lệnh try… catch thì chương trình sẽ báo lỗi. Ví dụ như đoạn code trên sẽ cho ra lỗi InterruptedException.
Nếu có nhiều hơn một catch thì sự ưu tiên của các catch sẽ phụ thuộc vào phân cấp của các exception.

Nếu bạn có câu hỏi vui lòng để lại comment hoặc gởi câu hỏi theo địa chỉ: studyandsharevn@gmail.com.

Bài 30: Try…Catch 1

Tóm tắt nội dung: Giới thiệu cấu trúc try … catch.
Nội dung:  

public static void main(String[] args) {
            int a = 5;
            int b = 0;
            try {
                  System.out.println("a/b:" + a / b);
            } catch (Exception e) {
                  System.out.println("Error:" + e);
            }
            finally{
                  System.out.println("Always done!");
            }
}
Cấu trúc try… catch dùng để bắt các ngoại lệ sẽ xảy ra trong quá trình ta viết code. Nếu không có cấu trúc try… catch thì khi chương trình gặp lỗi sẽ bị break. Ví dụ đoạn code trên ta lấy 5/0 thì sẽ có một ngoại lệ ném ra khi đó khối lệnh catch sẽ bắt ngoại lệ đó để xử lý. Finally tức là dù có ngoại lệ hay không có ngoại lệ thì nó vẫn thực hiện.
Lưu ý: Ở đoạn code trên ta không đặt cấu trúc try… catch thì chương trình vẫn không báo lỗi vì thế dạng này được gọi là RunTimeException.
Xem thêm clip để biết thêm về quan hệ thừa kế Exception trong Java.
Nếu bạn có câu hỏi vui lòng để lại comment hoặc gởi câu hỏi theo địa chỉ: studyandsharevn@gmail.com.

Bài 29: Import


Tóm tắt nội dung: Giới thiệu về từ khóa import.
Nội dung:
Từ khóa import được khai báo ở giữa câu lệnh khai báo package và khai báo class. Từ khóa import được sử dụng khi ta cần sử dụng một hoặc nhiều class trong các package khác hoặc là một thư viện…
Chú ý: Import có thể áp dụng cho static.
Xem thêm clip để hiểu rõ hơn về import.
Nếu bạn có câu hỏi vui lòng để lại comment hoặc gởi câu hỏi theo địa chỉ: studyandsharevn@gmail.com.

Bài 28: Final



Tóm tắt nội dung: Giới thiệu về từ khóa final.
Nội dung:
Code:

public class DemoJavaBasic extends Demo {
      final float PI = 3.14f;
      int number;

      public static void main(String[] args) {
            DemoJavaBasic dm = new DemoJavaBasic();
            dm.number = 15;

      }
}

class Demo {
      final void show() {
      }
}
Khi ta không muốn các thuộc tính, phương thức, class bị người khác thay đổi hoặc thừa kế thì ta sẽ sử dụng từ khóa final.
Đối với thuộc tính có từ khóa final thì ta không thể chỉnh sửa lại giá trị của thuộc tính đó.
Đối với phương thức có từ khóa final thì ta không thể override phương thức đó.
Đối với class có từ khóa final thì ta không thể thừa kế lại class đó.
Ví dụ ở code trên ta không thể sửa lại hằng số PI đã khai báo với final, tương tự cũng như phương thức show().
Nếu bạn có câu hỏi vui lòng để lại comment hoặc gởi câu hỏi theo địa chỉ: studyandsharevn@gmail.com.

Thứ Ba, 20 tháng 11, 2012

Bài 26: Thừa Kế

Tóm tắt nội dung: Giới thiệu thừa kế trong Java.
Nội dung:
Code:
public class DemoJavaBasic {
      public static void main(String[] args) {
           
      }
}
interface Document{
     
}
interface ReferentDoc extends Document{
     
}
class Book implements Document{
     
}
class Paper implements Document{
     
}
class ReferentBook extends Book implements Document, ReferentDoc{
     
}
Thừa kế giữa các interface với interfaceclass với class thì ta dùng từ khóa extents.
Thừa kế giữa class với interface ta dùng từ khóa implements.
Giữa class với class thì cho đơn thừa kế còn interface thì cho đa thừa kế.
Lưu ý: Trong java, class chỉ cho đơn thừa kế, để giải quyết vấn đề đa thừa kế trong java thì ta dùng interface.
Xem thêm clip để hiểu rõ hơn về thừa kế trong Java.
Nếu bạn có câu hỏi vui lòng để lại comment hoặc gởi câu hỏi theo địa chỉ: studyandsharevn@gmail.com.

Bài 25: Access Modifier

Tóm tắt nội dung: Giới thiệu các access modifier trong Java
Nội dung:  
Access modifier là phạm vi truy cập của một class, một thuộc tính, một phương thức. Và có 4 loại:
-         Public
-         Protected
-         Default (pravite-package)
-         Private
Đặc tính truy xuất của 4 loại modifier đc thể hiện như sau:

Private
Default
Protected
Public
Cùng class
Yes
Yes
Yes
Yes
Cùng package, khác class
No
Yes
Yes
Yes
Class con trong cùng package với class cha
No
Yes
Yes
Yes
Khác package, khác class
No
No
No
Yes
Class con khác package với class cha
No
No
Yes
Yes
Lứu ý: Đối với class thì chỉ có 2 Access modifier đó là puplic và default.
Nếu bạn có câu hỏi vui lòng để lại comment hoặc gởi câu hỏi theo địa chỉ: studyandsharevn@gmail.com.