Эта статья разделяет два классических использования интерфейса Java для вашей ссылки. Конкретный контент заключается в следующем
1. Пример динамической загрузки полиморфного графика Java
Напишите общую программу для расчета времени, необходимого для не транспортных транспортных средств для проведения 1000 километров. Известно, что параметры каждого транспорта представляют собой 3 выражения целых чисел A, B и C. Существуют два существующих инструмента: автомобиль и плоскость, где формула расчета скорости автомобиля: A+B+C. Есть три класса, которые необходимо написать: Computetime.java, Palne.java, Car.java и интерфейс Common.java. Требуется, что если третий транспортный автомобиль будет добавлен в будущем, нет необходимости изменять какие -либо предыдущие процедуры, но требуются только новые процедуры транспортного средства. Процесс работы заключается в следующем:
Введите четыре параметра Computetime из командной строки. Первый - это тип транспортного средства, а второй, третий и четвертый параметры - это целые числа A, B и C. В качестве примера:
Рассчитайте время плоскости: «Плана 20 30 40»
Рассчитайте время автомобиля: "Автомобиль 23 34 45"
Если транспортное средство на третьем месте - это корабль, вам нужно написать ship.java, а вход во время выполнения: «Корабль 22 33 44»
Совет: в полной мере используйте концепцию интерфейсов, а объекты интерфейса действуют как параметры.
Другой способ создания объекта: class.forname (str) .newinstance (); Например, необходимо создать экземпляр
Для объекта плоскости просто вызовите class.forname ("плоскость"). Newinstance ().
Код:
1. Computtime.java, пожалуйста, убедитесь, что ввод верен, где число отключений не поймано.
Импорт caltime.ewhicle.all.common; импорт java .lang.*; public Class Computetime {public static void main (String args []) {System.out.println ("Travel:"+args [0]); System.out.println ("Параметр A:"+args [1]; «+args [2]); System.out.println (" Параметр C: "+args [3]); double a = double.parsedouble (args [1]); double b = double.parsedouble (args [2]); двойной c = двойной. Class.forname ("caltime.vehicle."+Args [0]). Newinstance (); v = d.runtimer (a, b, c); t = 1000/v; system.out.println ("Средняя скорость:"+v+"км/ч"); System.out.println ("runtime:"+t+"); {System.out.println ("class не найден");}}} 2. Plane.java
Package Caltime.eehicle; Import Caltime.Vehicle.all.common; Плона открытого класса реализует общий {public Double Runtimer (Double A, Double B, Double C) {return (a + b + c);}} 3. Car.java
Package Caltime.eehicle; Import Caltime.Vehicle.all.common; открытый класс CAR реализует Common {public Double Runtimer (Double A, Double B, Double C) {return (a*b/c);}} 4.common.java
Пакет Caltime.Vehicle.All; Public Interface Common {Double Runtimer (Double A, Double B, Double C);} Один результат пробега:
C:/ java> Java Computetime Car 100 45 67
Транспорт: автомобиль
Параметр A: 100
Параметр B: 45
Параметр C: 67
Средняя скорость: 67,16417910447761 км/ч
Время работы: 14.88888888888889 часов
C:/ java> Java Computetime Slain 130 45 67
Транспортировка: самолет
Параметр A: 130
Параметр B: 45
Параметр C: 67
Средняя скорость: 242,0 км/ч
Время работы: 4.132231404958677 часов
Этот пример демонстрирует классическое использование интерфейсов, и мышление в Java также сделало глубокий анализ по этому поводу, так что вы можете проверить это.
2. Интерфейс передается как параметр метода.
Пример:
Интерфейс extendBroadable {public void input ();} класс KeyBroad реализует extendBroadable {public void input () {System.out.println ("/n HI, KeyBroad вводится в тогда input into then mainbroad!/n");}}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); }} Параметры типа интерфейса могут использоваться в качестве параметров метода. В фактическом использовании класс, который реализует интерфейс, может быть передан методу, и метод может быть выполнен в соответствии с принципом переписывания. Фактический вызов - это тело кода метода в классе реализации. Это позволяет реализовать различные функции в соответствии с параметрами, передаваемыми в.
Важно, чтобы, когда мне понадобится другой объект в будущем, и у меня есть собственное тело метода, нам не нужно переписать оригинальный класс, нам просто нужен новый класс для реализации интерфейса.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.