gpt4 book ai didi

java - 抽象多个 java 文件使用的相同导入调用

转载 作者:行者123 更新时间:2023-11-29 05:57:00 24 4
gpt4 key购买 nike

我熟悉 Java,但我仍在尝试弄清楚一些概念。

假设我有 FileA.javaFileB.java。两个文件在文件头使用相同的导入调用,例如:

FileA.java:

import java.util.Scanner;
import java.io.*;
{some code}

FileB.java

import java.util.Scanner;
import java.io.*;
{some code}

我在其他语言中看到,当你有多个源代码文件使用的公共(public)库时,你将其抽象为一个共享文件,然后你可以在源代码文件中调用这个文件,从而有助于减少维护和必须重新输入几次。那么对于上面的例子,我们可以做类似的事情:

Common.lib:

import java.util.Scanner;
import java.io.*;

FileA.java:

include Common.lib;
{some code}


FileB.java:
include Common.lib;
{some code}

所以我有以下问题,如果有人能澄清一下,我将不胜感激,因为我承认我对这个话题一无所知:

  1. 这在 Java 中可行吗?
  2. 这是个好主意/最佳做法吗?是/否 为什么?
  3. 如果这不是好的做法,那么您如何处理必须为使用相同导入 header 的每个 java 文件键入相同导入 header 的问题?

最佳答案

Is this doable in Java?

没有。

Is this a good idea/best practice? yes/no why?

如果不求助于预处理器之类的东西,这是不可行的……这使它成为非 Java 解决方案,并且绝对不是“最佳实践”。

If it's not good practice then how do you deal having to type the same import headers for every single java file that use the same ones?

我通过使用一个 IDE 来处理它,它允许我在不想查看导入语句时隐藏它们。即使在过去,当我使用一个愚蠢的(-ish)文本编辑器编写 Java 时,我也从未发现这是一个重要的问题。 (但话又说回来,经过 30 多年的专业编程和 20 多种不同的编程语言,我学会了容忍轻微的语法刺激。)


如果你早点看这个Java White Paper通过 James Gosling 和 Henry McGilton,您将看到排除#include(和 typedef)的优点之一如下:

"By removing all this baggage, Java becomes remarkably context-free. Programmers can read and understand code and, more importantly, modify and reuse code much faster and easier."

换句话说,您不必在包含文件的迷宫中导航就可以弄清楚主源文件中给定的标识符指的是什么。这些信息都在类源文件中(假设您不使用 * 导入...我不使用)。

关于java - 抽象多个 java 文件使用的相同导入调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11698157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com