Rumah > Soal Jawab > teks badan
Saya kini mempunyai kelas alat dengan kaedah statik di dalamnya, khusus untuk panggilan luaran.
Sekarang saya berharap sebelum setiap panggilan ke kaedah statik ini, kaedah atau blok kod yang menetapkan parameter lalai dipanggil.
Sama seperti menambah blok kod statik, tetapi blok kod statik hanya akan dilaksanakan sekali apabila kelas dimulakan, dan bukannya dilaksanakan setiap kali kaedah statik dipanggil, yang tidak memenuhi keperluan saya.
Penyelesaian asas adalah untuk menambah kaedah statik ke kelas alat ini dan membuat tetapan yang saya mahu di dalamnya, tetapi dalam kes ini saya perlu menambah pernyataan untuk memanggil kaedah ini dalam semua kaedah statik lain, kerana statik saya di sini Terdapat banyak kaedah , dah lebih 30, dan akan ada lagi, jadi nak malas nak tanya ada cara nak selesaikan?
Hmm. . Sebagai penjelasan tambahan, rangka kerja projek saya adalah berdasarkan mvc musim bunga Selepas membaca AOP dalam ulasan, saya pergi ke Baidu dan mendapati ia mungkin dapat memenuhi keperluan saya.
Jika ia hanya kod java tulen, sukar untuk saya menyelesaikan keperluan saya walaupun saya memikirkannya.
ringa_lee2017-06-12 09:27:34
aop Saya benar-benar tidak tahu bagaimana untuk menjawab soalan anda
大家讲道理2017-06-12 09:27:34
Jawapan perawan SF saya juga diberikan kepada anda, mari cari penyelesaian lain
扔个三星炸死你2017-06-12 09:27:34
Anda tidak sepatutnya menggunakan statik
Jika ia adalah singleton dari awal,
ia boleh dimulakan,
Walaupun statik boleh mentakrifkan blok yang dilaksanakan apabila kelas dimuatkan,
tetapi ia secara amnya tidak berkenaan,
滿天的星座2017-06-12 09:27:34
Walaupun ia juga boleh dilaksanakan menggunakan kelas terbitan, ia hanya akan menyusahkan dan tidak memenuhi matlamat kemudahan dan kelajuan subjek.
Berbanding dengan pelbagai kaedah, adalah lebih pantas untuk menambah barisan kod pada setiap kaedah statik.
Cukup salin dan tampal soalan, ia akan menjadi cepat.
过去多啦不再A梦2017-06-12 09:27:34
Gunakan ungkapan biasa untuk memadankan permulaan setiap kaedah, dan kemudian masukkan kaedah yang anda mahukan
三叔2017-06-12 09:27:34
Hanya tambahkan panggilan balik pada parameter kaedah Sebagai contoh, ia pada asalnya ditulis seperti ini: public static void doSomeThing(Object args1)
Sekarang ia ditulis seperti ini
public static void doSomeThing(Object args1,MyCallback callback){
callback.execute(theargs...);
//do other things...
}