Философия Java


Использование импорта для изменения поведения - часть 2


Результат отправляется на консоль в поток стандартных ошибок - System.err.

Когда Вам необходимо использовать этот класс, Вы добавляете одну строку в свою программу:

import com.bruceeckel.tools.debug.*;

Для отключения этого контроля, Вы можете использовать код, где реализован второй класс Assert, находящийся в другом пакете:

//: com:bruceeckel:tools:Assert.java

// Отключение контроля

package com.bruceeckel.tools;

public class Assert { public final static void is_true(boolean exp){} public final static void is_false(boolean exp){} public final static void is_true(boolean exp, String msg) {} public final static void is_false(boolean exp, String msg) {} } ///:~

Так, если Вы измените предыдущее выражение import на:

import com.bruceeckel.tools.*;

программа больше не будет печатать контрольные данные. Вот пример:

//: c05:TestAssert.java

// Демонстрация инструмента контроля.

// Комментируете первую или вторую строчку и

// получаете различные результаты:

import com.bruceeckel.tools.debug.*; // import com.bruceeckel.tools.*;

public class TestAssert { public static void main(String[] args) { Assert.is_true((2 + 2) == 5); Assert.is_false((1 + 1) == 2); Assert.is_true((2 + 2) == 5, "2 + 2 == 5"); Assert.is_false((1 + 1) == 2, "1 +1 != 2"); } } ///:~

Изменением импортируемого пакета, Вы производите переход от отладочной к конечной версии. Эта техника может быть использована для создания отладочного кода любого типа.




Начало  Назад  Вперед