1. Trang chủ
  2. » Thể loại khác

tu khoa static trong java

6 123 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Từ khóa static trong Java

    • Biến static trong Java

      • Lợi thế của biến static

      • Tìm hiểu vấn đề xảy ra khi không có biến static

    • Ví dụ về biến static trong Java

      • Chương trình Counter mà không sử dụng biến static

      • Chương trình counter với biến static trong Java

    • Phương thức static trong Java

      • Ví dụ về phương thức static trong Java

      • Ví dụ khác về phương thức static mà thực hiện phép tính toán thông thường

      • Một số hạn chế cho phương thức static

    • Khối static trong Java

Nội dung

http://vietjack.com/java/index.jsp Copyright © vietjack.com Từ khóa static Java Từ khóa static Java sử dụng để quản trị nhớ Chúng ta áp dụng từ khóa static với biến (cũng gọi biến lớp, biến class), phương thức (cũng gọi phương thức lớp), khối, lớp lặp Từ khóa static thuộc lớp không thuộc instance (sự thể hiện) lớp Biến static Java Khi bạn khai báo biến static, biến gọi biến tĩnh, hay biến static Biến static sử dụng để tham chiếu thuộc tính chung tất đối tượng (mà không cho đối tượng), ví dụ tên cơng ty nhân viên, tên trường học sinh viên, … Biến static lấy nhớ lần Class Area thời gian tải lớp Lợi biến static Biến static giúp nhớ chương trình bạn sử dụng hiệu (tiết kiệm nhớ) Tìm hiểu vấn đề xảy khơng có biến static class Student{ int rollno; String name; String college="BachKhoa"; } Giả sử có 500 sinh viên trường đại học, instance thành viên liệu lấy nhớ đối tượng tạo Tất sinh viên có rollno name instance thành viên liệu tốt Ở đây, college thuộc tính chung tất đối tượng Nếu tạo static, trường lấy nhớ lần Ghi chú: Thuộc tính static Java chia sẻ tới tất đối tượng Ví dụ biến static Java //Chuong trinh vi du ve bien static Java class Student8{ http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp Copyright © vietjack.com int rollno; String name; static String college ="BachKhoa"; Student8(int r,String n){ rollno = r; name = n; } void display (){System.out.println(rollno+" "+name+" "+college);} public static void main(String args[]){ Student8 s1 = new Student8(111,"Hoang"); Student8 s2 = new Student8(222,"Thanh"); s1.display(); s2.display(); } } Chương trình Counter mà khơng sử dụng biến static Trong ví dụ, tạo biến instance có tên count mà tăng lên constructor Khi biến instance lấy nhớ thời điểm tạo đối tượng, đối tượng có biến instance đó, tăng lên, khơng phản ánh đối tượng khác Vì đối tượng có giá trị biến count class Counter{ int count=0; //se lay bo nho (memory) bien instance duoc tao Counter(){ count++; System.out.println(count); } public static void main(String args[]){ http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp Copyright © vietjack.com Counter c1=new Counter(); Counter c2=new Counter(); Counter c3=new Counter(); } } Chương trình counter với biến static Java Như bạn thấy trên, biến static lấy nhớ lần, đối tượng thay đổi giá trị biến static, ghi nhớ giá trị class Counter2{ static int count=0; //se lay bo nho chi mot lan giu lai gia tri cua no Counter2(){ count++; System.out.println(count); } public static void main(String args[]){ Counter2 c1=new Counter2(); Counter2 c2=new Counter2(); Counter2 c3=new Counter2(); } } Phương thức static Java Nếu bạn áp dụng từ khóa static với phương thức nào, phương thức gọi phương thức static  Một phương thức static thuộc lớp đối tượng lớp http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp Copyright © vietjack.com  Một phương thức static triệu hồi mà không cần tạo instance lớp  Phương thức static truy cập thành viên liệu static thay đổi giá trị Ví dụ phương thức static Java //Chuong trinh thay doi thuoc tinh chung cua tat ca doi tuong (truong static) class Student9{ int rollno; String name; static String college = "BachKhoa"; static void change(){ college = "QuocGia"; } Student9(int r, String n){ rollno = r; name = n; } void display (){System.out.println(rollno+" "+name+" "+college);} public static void main(String args[]){ Student9.change(); Student9 s1 = new Student9 (111,"Hoang"); Student9 s2 = new Student9 (222,"Thanh"); Student9 s3 = new Student9 (333,"Nam"); s1.display(); s2.display(); s3.display(); } http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp Copyright © vietjack.com } Ví dụ khác phương thức static mà thực phép tính tốn thơng thường //Chuong trinh lay cube (gia tri lap phuong) cua so da cho boi phuong thuc static class Calculate{ static int cube(int x){ return x*x*x; } public static void main(String args[]){ int result=Calculate.cube(5); System.out.println(result); } } Một số hạn chế cho phương thức static Có hai hạn chế cho phương thức static Đó là:  Phương thức static sử dụng thành viên liệu non-static gọi trực tiếp phương thức non-static  Từ khóa this super khơng thể sử dụng ngữ cảnh static class A{ int a=40;//non static public static void main(String args[]){ System.out.println(a); } } Chạy chương trình cho kết Compile Time Error Câu hỏi: Tại phương thức main Java static? http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp Copyright © vietjack.com Bởi đối tượng không cần thiết để gọi phương thức static phương thức non-static, JVM tạo đối tượng sau gọi phương thức main() mà gây vấn đề cấp phát nhớ nhớ phụ Khối static Java Được sử dụng để khởi tạo thành viên liệu static Nó thực thi trước phương thức main thời gian tải lớp Dưới ví dụ khối static Java: class A2{ static{System.out.println("Khoi static duoc trieu hoi");} public static void main(String args[]){ System.out.println("Hello main"); } } Câu hỏi: Chúng ta thực thi chương trình mà khơng có phương thức main()? Có, cách khối static phiên trước JDK, không JDK 1.7 class A3{ static{ System.out.println("Khoi static duoc trieu hoi"); System.exit(0); } } http://vietjack.com/ Trang chia sẻ học online miễn phí Page ... "+college);} public static void main(String args[]){ Student9.change(); Student9 s1 = new Student9 (111,"Hoang"); Student9 s2 = new Student9 (222,"Thanh"); Student9 s3 = new Student9 (333,"Nam");... tinh chung cua tat ca doi tuong (truong static) class Student9{ int rollno; String name; static String college = "BachKhoa"; static void change(){ college = "QuocGia"; } Student9(int r, String n){... static Đó là:  Phương thức static sử dụng thành viên liệu non -static gọi trực tiếp phương thức non -static  Từ khóa this super sử dụng ngữ cảnh static class A{ int a=40;//non static public static

Ngày đăng: 03/12/2017, 01:07

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN