java 인터페이스의 두 가지 고전 용법

4063 단어 javainterface
본고는 여러분에게 자바 인터페이스의 두 가지 고전적인 용법을 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같습니다.
1. Java 멀티태스킹 인터페이스 동적 로드 인스턴스
1000킬로미터를 운행하는 데 걸리는 시간을 계산하기 위해 유니버설 프로그램을 작성합니다. 모든 교통수단의 매개 변수는 3개의 정수 A, B, C의 표현식으로 알려져 있습니다.기존의 두 가지 도구: Car와 Plane, 그 중에서 Car의 속도 연산 공식은 A+B+C이다.세 가지 클래스를 작성해야 합니다: ComputeTime.java,Palne.java,Car.java와 인터페이스Common.java.앞으로 제3중 교통수단을 추가할 때 이전의 어떤 절차도 수정할 필요가 없고 새로운 교통수단의 절차만 쓸 필요가 있다.이 프로세스는 다음과 같습니다.
명령줄에서 ComputeTime의 네 가지 매개 변수를 입력하십시오. 첫 번째는 교통수단의 유형이고, 두 번째, 세 번째, 네 번째 매개 변수는 각각 정수 A, B, C입니다.예를 들면 다음과 같습니다.
Plane 계산 시간: "Plane 20 30 40"
Car 계산 시간: "Car 23 34 45"
제3의 교통수단이 Ship이면 Ship을 작성해야 합니다.java, 실행 시 입력: "Ship 22 33 44"
제시: 인터페이스의 개념을 충분히 활용하고 인터페이스 대상은 매개 변수를 충당한다. 
하나의 대상을 실례화하는 또 다른 방법: Class.forName(str).newInstance();예를 들어 실례화가 필요하다
Plane 객체가 있으면 Class만 호출됩니다.forName("Plane").newInstance()를 사용하면 됩니다. 
코드:
1. ComputTime. java 입력이 정확한지 확인하십시오. NumberFromatException이 없습니다.

import CalTime.vehicle.all.Common;
import java .lang.*;
public class ComputeTime {
public static void main(String args[]) {
System.out.println(“ : “+args[0]);
System.out.println(”  A: “+args[1]);
System.out.println(”  B: “+args[2]);
System.out.println(”  C: “+args[3]);
double A=Double.parseDouble(args[1]);
double B=Double.parseDouble(args[2]);
double C=Double.parseDouble(args[3]);
double v,t;
try {
Common d=(Common) Class.forName(“CalTime.vehicle.”+args[0]).newInstance();
v=d.runTimer(A,B,C);
t=1000/v;
System.out.println(“ : “+v+” km/h”);
System.out.println(“ :”+t+”  ”);
} catch(Exception e)  {
System.out.println(“class not found”);
}
}
}
2.Plane.java  

package CalTime.vehicle;
import CalTime.vehicle.all.Common;
public class Plane implements Common {
public double runTimer(double a, double b, double c) {
return (a+ b + c);
}
}
3. Car.java  

package CalTime.vehicle;
import CalTime.vehicle.all.Common;
public class Car implements Common {
public double runTimer(double a, double b, double c) {
return ( a*b/c );
}
}
4.Common.java  

package CalTime.vehicle.all;
public interface Common {
double runTimer(double a, double b, double c);
}
한 번의 실행 결과:
C:\java> java ComputeTime Car 100 45 67
교통수단: Car
매개 변수 A:100
매개변수 B:45
매개변수 C: 67
평균 속도: 67.16417910447761 km/h
운행 시간: 14.8888888889시간
C:\java > java ComputeTime Plane 130 45 67
교통수단: Plane
매개 변수 A:130
매개변수 B:45
매개변수 C: 67
평균 속도: 242.0km/h
운행 시간: 4.13223104958677시간
이 예는 인터페이스의 고전적인 용법을 보여 주었고 Thinking in java도 이에 대해 깊은 분석을 하여 볼 수 있다. 
2. 인터페이스는 방법의 매개 변수로 전달된다. 
예:

interface Extendbroadable{
public void inPut();
}
class KeyBroad   implements Extendbroadable{
public void inPut(){
System.out.println(“
hi,keybroad has be input into then mainbroad!
”); } } class NetCardBroad implements Extendbroadable{ public void inPut(){ System.out.println(“
hi,netCardBroad has be input into then mainbroad!
”); } } class CheckBroad{ public void getMainMessage(Extendbroadable ext){ ext.inPut(); } } public class InterfaceTest01{ public static void main(String []args){ KeyBroad kb=new KeyBroad(); NetCardBroad ncb=new NetCardBroad(); CheckBroad cb=new CheckBroad(); cb.getMainMessage(kb); cb.getMainMessage(ncb); } }
인터페이스 유형의 매개 변수를 방법 매개 변수로 할 수 있으며 실제 사용할 때 인터페이스를 실현한 클래스를 방법에 전달하거나 뒷방법이나 다시 쓰는 원칙에 따라 실행할 수 있으며 실제 호출된 것은 클래스를 실현하는 방법 코드체이다.이렇게 하면 들어오는 매개 변수에 따라 서로 다른 기능을 실현할 수 있다. 
중요한 것은 내가 앞으로 다른 대상을 필요로 하고 자신의 방법체를 가지고 있을 때 우리는 원류를 바꿀 필요가 없고 새로운 클래스가 인터페이스를 실현하기만 하면 된다는 것이다.
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기