我使用NetBeans IDE在JavaFX中执行项目。 IDE会自动导入所有必需的导入语句。它具体做到这一点,那只是必要的进口报表被导入。以下是我的一个Java应用程序中的导入语句列表 -为什么NetBeans IDE专门使用import语句?
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 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特别使用import语句?
从我已阅读和理解的内容中,导入这样一个原因是它可以改进编译。它还可以减少两个类具有相同名称时的歧义性 – MadProgrammer
@MadProgrammer您的意思是“显式”:)它也使得所有类的依赖性变得明显,并且不会由于编译类路径中的更改而隐含地更改代码语义。 –
如果您使用高级IDE之一,您可以将导入折叠为1行:-) –