我使用NetBeans IDE在JavaFX中执行一个项目。IDE自动导入所有必需的导入语句。它具体地做到了这一点,即只导入必要的导入语句。以下是我的java应用程序中导入语句的列表-
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;正如所见,它是一长串导入语句。我发现的一个问题是,这需要更多的代码。为什么他们不像下面这样使用import语句呢?
import java.sql.*;
import java.util.logging.*;
import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.collections.*;
import javafx.event.*;
import javafx.geometry.Insets;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
import javafx.scene.text.*;
import javafx.stage.Stage;这节省了很多代码行。
这两组导入语句之间的实际区别是什么?为什么NetBeans专门使用导入语句?
发布于 2014-04-13 07:37:19
让我演示通配符导入中最糟糕的问题之一:
import org.example.mylib.*;
import java.util.*;
class X {
List<String> xs;
}在mylib的2.0版本中,添加了一个名为List<T>的类。您根本不接触源代码,而且源代码与添加的类没有任何关系。
如果您添加的List定义了类X使用的所有方法,代码将成功构建,但运行时行为将因非常神秘的原因而发生变化。
发布于 2014-04-15 09:08:04
可以选择在NetBeans中配置星型导入。从菜单中选择Tools -> Options。单击顶部的编辑器按钮,然后单击“格式”选项卡。从Language下拉列表中选择,从分类下拉列表中选择Imports。现在,您可以看到几个声明导入的选项:单类、包导入或不导入,但在源中使用完全限定的名称。可以进一步指定单个类,例如,在使用星型导入之前从包中导入的数量。
https://stackoverflow.com/questions/23039569
复制相似问题