인 터 페 이 스 를 통 해 연관 성 을 낮추다
2024 단어 자바
A.B 를 호출 하지만 A 의 내용 을 변경 합 니 다.B 가 바 뀌 지 않 기 를 원한 다 면 인 터 페 이 스 를 만 들 수 있 습 니 다.A,B 1 을 연결 하여 인터페이스 M 2 를 만 들 수 있 습 니 다.A 로 이 인 터 페 이 스 를 실현 합 니 다.3.구조 함 수 를 통 해 인 터 페 이 스 를 B 에 전달 하고 B 에서 인터페이스 방법(또는 대기 열 을 사용 하여 B 에 ADD 방법 을 설정 합 니 다)4.A 에서 B 를 예화 하고 A 를 M 인터페이스 로 B(대기 열:A 를 B 에 추가 합 니 다)로 전달 합 니 다.이렇게 A 를 수정 할 때 B 의 내용 을 수정 하지 않 고 B 에서 사용 하 는 M 방법 은 A 에서 실현 하 는 방법 이다.
//
public interface MsgListener {
public void recvMsg(String msg);
}
/**
*
* @author Administrator
*
*/
public class Time extends Thread{
//
private MsgListener listener;
//
private ArrayList listeners=new ArrayList();
//
public void addListener(MsgListener listener){
listeners.add(listener);
}
public void run(){
//
while(true){
try {
sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
for(int i=0;i
/**
*
* @author zll
* ui , time
*/
public class TimeUI implements MsgListener{
JLabel label;
//
public void initUI(){
JFrame jf=new JFrame();
jf.setDefaultCloseOperation(3);
jf.setLayout(new FlowLayout());
jf.setSize(500, 500);
label=new JLabel();
jf.add(label);
jf.setVisible(true);
}
public void recvMsg(String msg) {
// msg
label.setText(msg);
}
public static void main(String[] args){
TimeUI ui1=new TimeUI();
ui1.initUI();
Time time=new Time();
// time (ui), time , ui
time.addListener(ui1);
time.start();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.