Đây là sự tiếp nối của câu hỏi được đăng trong: How to load a jar file at runtimeLàm cách nào để truy cập một phương thức từ một bình bên ngoài khi chạy?
Tôi không chắc chắn về cách tiếp tục với cấp độ yêu cầu phương thức. Từ sự hiểu biết của tôi, từ đối tượng clazz, tôi sẽ sử dụng getMethod hoặc getDeclaredMethod để có được một đối tượng Method mà từ đó tôi sẽ gọi invoke. Tất nhiên, gọi đòi hỏi một thể hiện. Điều đó có được gọi là doRun trong mã ví dụ không?
Tôi có cần thực hiện cuộc gọi phương thức doRun.run() ngay cả khi tôi muốn thực thi một phương thức khác với chính (giả sử rằng nó là chính trên đối tượng doRun được gọi với lời gọi chạy)?
Chỉ cần làm rõ thêm bài đăng gốc, tôi hỏi: DoRun.run() có bắt đầu một chuỗi mới thực thi cá thể của đối tượng lớp kiểu clazz không?
Cảm ơn bạn đã giúp tôi xóa nội dung này.
Tôi đã xem xét "làm thế nào-nên-i-load-jars-động-tại-thời gian chạy" (xin lỗi, chỉ cho phép một siêu liên kết), tuy nhiên điều này có vẻ vi phạm các lời than phiền Class.newInstance ác trong bài đầu tiên tôi được tham chiếu.
Vì vậy, nếu tôi hiểu nhận xét của bạn theo mã, với giao diện, tôi biết phương thức nào có sẵn và có thể viết mã gọi phương thức trực tiếp sau khi truyền đối tượng mẫu một cách thích hợp. Điều này có đúng không? – Todd
Tất nhiên, giả định rằng mã ban đầu đã được biên dịch bằng cách sử dụng giao diện, không phải là một trong những tôi tạo ra sau này và cố gắng để đúc dụ. – Todd
@Todd - vâng, bạn đã có nó. Cách tiếp cận giao diện (hoặc một số kiểu triển khai mạnh) khác thường được sử dụng với các trình bổ sung nơi mã được viết để được khởi tạo động. Nếu bạn đang làm nội tâm và yêu cầu trên các lớp tùy ý, đây không phải là một tùy chọn. – McDowell