Java tutorial
/* * Copyright (c) 2012-2017 Red Hat, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Red Hat, Inc. - initial API and implementation */ package multimodule; import multimodule.model.Book; import multimodule.model.BookImpl; import java.util.Objects; public class App { public static void main(String... args) { Book book1 = new BookImpl("java", "oracle"); // to invoke constructor BookImpl(title, author) Book book2 = BookImpl.create("go", "google"); // to invoke static method BookImpl.create(title, author) if (!book2.isEquals(book1)) { // to invoke default method Book.isEquals() Book.printInfo(book1); // to invoke default static method Book.printInfo(book) } // external lib ch.qos.logback with sources which are accessible by maven; need to download sources from maven repo. org.slf4j.Logger logbackLogger = org.slf4j.LoggerFactory.getLogger(App.class); logbackLogger.info(concat("Info from ", "logbackLogger", ' ')); } /** * Returns concatination of two strings into one divided by special symbol. * * @deprecated As of version 1.0, use {@link org.apache.commons.lang.StringUtils#join(Object[], char)} * * @param part1 * part 1 to concat. * @param part2 * part 2 to concat. * @param divider * divider of part1 and part2. * @return concatination of two strings into one. * * @throws NullPointerException * if one of the part has null value. */ public static String concat(String part1, String part2, char divider) throws NullPointerException { Objects.nonNull(part1); Objects.nonNull(part2); return part1 + divider + part2; } }