Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เราสามารถแทนที่ start() วิธีการใน Java ได้หรือไม่?


ใช่ เราสามารถลบล้าง เริ่ม() วิธีการของ กระทู้ คลาสในภาษาจาวา เราต้องเรียก super.start() วิธีสร้างเธรดใหม่และต้องเรียก run() วิธีการในเธรดที่สร้างขึ้นใหม่นั้น ถ้าเราเรียก run() วิธีการโดยตรงจากภายใน start() . ของเรา เมธอด มันสามารถดำเนินการในเธรดจริงเป็นวิธีการปกติ ไม่ใช่ในเธรดใหม่

ตัวอย่าง

<ก่อน> ThreadTest คลาสสาธารณะ { โมฆะคงที่สาธารณะ main (สตริง [] args) { MyThread t =MyThread ใหม่ (); t.start(); }} คลาส MyThread ขยายเธรด { @Override public void start () { // แทนที่เมธอด start () System.out.println ("การแทนที่เมธอด start ()"); super.start(); } @Override public void run() { System.out.println("run() method "); }}

ผลลัพธ์

การแทนที่ start() methodrun() วิธีการ