java 인터페이스의 두 가지 고전 용법
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);
}
}
인터페이스 유형의 매개 변수를 방법 매개 변수로 할 수 있으며 실제 사용할 때 인터페이스를 실현한 클래스를 방법에 전달하거나 뒷방법이나 다시 쓰는 원칙에 따라 실행할 수 있으며 실제 호출된 것은 클래스를 실현하는 방법 코드체이다.이렇게 하면 들어오는 매개 변수에 따라 서로 다른 기능을 실현할 수 있다. 중요한 것은 내가 앞으로 다른 대상을 필요로 하고 자신의 방법체를 가지고 있을 때 우리는 원류를 바꿀 필요가 없고 새로운 클래스가 인터페이스를 실현하기만 하면 된다는 것이다.
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.