Làm cách nào để gọi một phương thức không tĩnh từ một lớp khác trong php?

Bạn đã học được từ chương Phương thức Java rằng các phương thức được khai báo trong một lớp và chúng được sử dụng để thực hiện một số hành động nhất định

Ví dụ

Tạo một phương thức có tên là

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
1 trong Main

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }
}

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
1 in một văn bản (hành động), khi nó được gọi. Để gọi một phương thức, hãy viết tên của phương thức theo sau là hai dấu ngoặc đơn () và dấu chấm phẩy;

Ví dụ

Bên trong

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
3, gọi
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
1

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"

Tự mình thử »


tĩnh so với. Công cộng

Bạn sẽ thường thấy các chương trình Java có các thuộc tính và phương thức

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
0 hoặc
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
1

Trong ví dụ trên, chúng ta đã tạo một phương thức

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
0, có nghĩa là nó có thể được truy cập mà không cần tạo một đối tượng của lớp, không giống như
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
1, chỉ có thể được truy cập bởi các đối tượng

Ví dụ

Một ví dụ để chứng minh sự khác biệt giữa phương pháp

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
0 và
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
1

________số 8

Tự mình thử »

Ghi chú. Bạn sẽ tìm hiểu thêm về các từ khóa này (được gọi là bộ sửa đổi) trong chương Bộ sửa đổi Java


Các phương thức truy cập với một đối tượng

Ví dụ

Tạo một đối tượng Car tên là

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
6. Gọi các phương thức
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
7 và
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
8 trên đối tượng
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
6 và chạy chương trình

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
3

Tự mình thử »

Ví dụ giải thích

1) Chúng tôi đã tạo một lớp

public class Main {
  // Static method
  static void myStaticMethod() {
    System.out.println("Static methods can be called without creating objects");
  }

  // Public method
  public void myPublicMethod() {
    System.out.println("Public methods must be called by creating objects");
  }

  // Main method
  public static void main(String[] args) {
    myStaticMethod(); // Call the static method
    // myPublicMethod(); This would compile an error

    Main myObj = new Main(); // Create an object of Main
    myObj.myPublicMethod(); // Call the public method on the object
  }
}
0 tùy chỉnh với từ khóa
public class Main {
  // Static method
  static void myStaticMethod() {
    System.out.println("Static methods can be called without creating objects");
  }

  // Public method
  public void myPublicMethod() {
    System.out.println("Public methods must be called by creating objects");
  }

  // Main method
  public static void main(String[] args) {
    myStaticMethod(); // Call the static method
    // myPublicMethod(); This would compile an error

    Main myObj = new Main(); // Create an object of Main
    myObj.myPublicMethod(); // Call the public method on the object
  }
}
1

2) Chúng tôi đã tạo các phương thức

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
7 và
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
8 trong lớp
public class Main {
  // Static method
  static void myStaticMethod() {
    System.out.println("Static methods can be called without creating objects");
  }

  // Public method
  public void myPublicMethod() {
    System.out.println("Public methods must be called by creating objects");
  }

  // Main method
  public static void main(String[] args) {
    myStaticMethod(); // Call the static method
    // myPublicMethod(); This would compile an error

    Main myObj = new Main(); // Create an object of Main
    myObj.myPublicMethod(); // Call the public method on the object
  }
}
0

3) Phương thức

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
7 và phương thức
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
8 sẽ in ra một số văn bản, khi chúng được gọi

4) Phương thức

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
8 chấp nhận tham số
public class Main {
  // Static method
  static void myStaticMethod() {
    System.out.println("Static methods can be called without creating objects");
  }

  // Public method
  public void myPublicMethod() {
    System.out.println("Public methods must be called by creating objects");
  }

  // Main method
  public static void main(String[] args) {
    myStaticMethod(); // Call the static method
    // myPublicMethod(); This would compile an error

    Main myObj = new Main(); // Create an object of Main
    myObj.myPublicMethod(); // Call the public method on the object
  }
}
8 có tên là
public class Main {
  // Static method
  static void myStaticMethod() {
    System.out.println("Static methods can be called without creating objects");
  }

  // Public method
  public void myPublicMethod() {
    System.out.println("Public methods must be called by creating objects");
  }

  // Main method
  public static void main(String[] args) {
    myStaticMethod(); // Call the static method
    // myPublicMethod(); This would compile an error

    Main myObj = new Main(); // Create an object of Main
    myObj.myPublicMethod(); // Call the public method on the object
  }
}
9 - chúng ta sẽ sử dụng tham số này trong 8)

5) Để sử dụng lớp

public class Main {
  // Static method
  static void myStaticMethod() {
    System.out.println("Static methods can be called without creating objects");
  }

  // Public method
  public void myPublicMethod() {
    System.out.println("Public methods must be called by creating objects");
  }

  // Main method
  public static void main(String[] args) {
    myStaticMethod(); // Call the static method
    // myPublicMethod(); This would compile an error

    Main myObj = new Main(); // Create an object of Main
    myObj.myPublicMethod(); // Call the public method on the object
  }
}
0 và các phương thức của nó, chúng ta cần tạo một đối tượng của Lớp
public class Main {
  // Static method
  static void myStaticMethod() {
    System.out.println("Static methods can be called without creating objects");
  }

  // Public method
  public void myPublicMethod() {
    System.out.println("Public methods must be called by creating objects");
  }

  // Main method
  public static void main(String[] args) {
    myStaticMethod(); // Call the static method
    // myPublicMethod(); This would compile an error

    Main myObj = new Main(); // Create an object of Main
    myObj.myPublicMethod(); // Call the public method on the object
  }
}
0

6) Sau đó, chuyển đến phương thức

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
32, mà bây giờ bạn biết là một phương thức Java tích hợp để chạy chương trình của bạn (bất kỳ mã nào bên trong main đều được thực thi)

7) Bằng cách sử dụng từ khóa

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
33, chúng tôi đã tạo một đối tượng có tên
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
6

8) Sau đó, chúng tôi gọi các phương thức

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
7 và
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
8 trên đối tượng
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
6 và chạy chương trình bằng cách sử dụng tên của đối tượng (
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
6), theo sau là dấu chấm (
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
39), tiếp theo là tên của phương thức (
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
40 và
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
41). Lưu ý rằng chúng tôi thêm một tham số
public class Main {
  // Static method
  static void myStaticMethod() {
    System.out.println("Static methods can be called without creating objects");
  }

  // Public method
  public void myPublicMethod() {
    System.out.println("Public methods must be called by creating objects");
  }

  // Main method
  public static void main(String[] args) {
    myStaticMethod(); // Call the static method
    // myPublicMethod(); This would compile an error

    Main myObj = new Main(); // Create an object of Main
    myObj.myPublicMethod(); // Call the public method on the object
  }
}
8 là 200 bên trong phương thức
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
8

Nhớ lấy

Dấu chấm (

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
39) được sử dụng để truy cập các thuộc tính và phương thức của đối tượng

Để gọi một phương thức trong Java, hãy viết tên phương thức theo sau là một bộ dấu ngoặc đơn (), tiếp theo là dấu chấm phẩy (

public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"
45)

Một lớp phải có tên tệp phù hợp (______80 và Main. Java)



Sử dụng nhiều lớp

Giống như chúng tôi đã chỉ ra trong chương Lớp học, cách tốt nhất là tạo một đối tượng của một lớp và truy cập nó trong một lớp khác

Hãy nhớ rằng tên của tệp java phải khớp với tên lớp. Trong ví dụ này, chúng tôi đã tạo hai tệp trong cùng một thư mục

Bạn có thể gọi một phương thức không tĩnh từ một lớp khác không?

Cách duy nhất để truy cập phương thức không tĩnh của một lớp trừu tượng là mở rộng nó, triển khai các phương thức trừu tượng trong đó (nếu có) và sau đó sử dụng đối tượng lớp con của bạn. . .

Làm cách nào để gọi phương thức không tĩnh trong PHP?

Trong PHP 5, gọi các phương thức không tĩnh sẽ tạo ra cảnh báo E_STRICT một cách tĩnh . Trong PHP 7, việc gọi các phương thức không tĩnh một cách tĩnh không được dùng nữa và sẽ tạo cảnh báo E_DEPRECATED. Xem các phương thức tĩnh (php. mạng) để biết chi tiết. Trong ví dụ sau, phương thức foo() được gọi là động trong khi thực tế nó là tĩnh.

Chúng ta có thể gọi một phương thức không tĩnh từ một phương thức không tĩnh không?

Tất nhiên, họ có thể, nhưng điều ngược lại là không đúng, tôi. e. bạn không thể lấy thành viên không tĩnh từ ngữ cảnh tĩnh, tôi. e. phương pháp tĩnh. Cách duy nhất để truy cập một biến không tĩnh từ một phương thức tĩnh là tạo một đối tượng của lớp mà biến đó thuộc về

Làm cách nào tôi có thể truy cập một phương thức từ một lớp khác trong PHP?

Sử dụng singleton trong PHP . Điều này cho phép sử dụng các phương thức mà không cần khởi tạo lớp trước. Thay vào đó, đối tượng được tạo bên trong chính lớp đó. Ghi chú. use singleton. This makes it possible to use methods without the need to first instantiate the class. The object is instead created inside the class itself. Note.