我真的不明白Java中的导入功能

所以我正在做一个关于 Java 的 EDX 课程,我正在使用 BlueJ,但导入确实让我感到困惑。 这是其中一个模块的默认代码:

import comp102x.IO;

/**
 * A class of Car objects that can move forward,backward and turn
 */
public class Car
{
    private int odometer = 0;           // An odometer reading initialized to 0
    private String owner = "NoName";    // Name of owner
    
    /**
     *   Default constructor for a Car object
     */
    public Car () {}  
    
    /**
     *   Constructor for a Car object with a new owner’s name
     *   @param   name                   name of owner
     */
    public Car(String name) {   // Constructor takes a name as argument
        owner = name;
    }
    
    /**
    *   moveCar moves a car forward or backward by dist units
    *   @param   dist     Moving distance
    */
    public void moveCar(int dist) { 
        odometer = odometer + Math.abs(dist);
        IO.outputln(owner + "'s car has moved " + dist + " units."); 
    }
    
    /**
    *   turnCar turns a car by a given degree
    *   @param   angle     Turn angle in degrees
    */
    public void turnCar(double angle) { 
        IO.outputln(owner + "'s car has turned " + angle + " degrees."); 
    }
    
    /**
    *   getOdometer gets the odometer reading of a car
    *   @return     The value of odometer
    */
    public int getOdometer() {
        return odometer;
    }
    

我很困惑为什么 import java.io.* 不起作用,因为这是用于从 IO 包导入类的默认设置,对吗?但是代码没有编译,它说“未声明的变量:IO”,我不明白为什么。就像包必须保存在您的笔记本电脑上一样,它们实际上是从哪里导入的?当我在 google 中输入 import comp102x.IO 时,什么也没有出现,我在哪里可以找到这个包?当您要使用导入包或某些类时,我们是否必须将其保存在我们的计算机上才能使用它以及我们在哪里找到它?

抱歉问了这么多问题,我只是对导入感到很困惑。

liu1809 回答:我真的不明白Java中的导入功能

您需要先将“comp102x”库添加到您的路径中。请参考:https://courses.edx.org/courses/course-v1:HKUSTx+COMP102.1x+2T2015/f792f3a2057040aa959e606d687e9bc4/

首先下载“comp102x 包库”。

,

我不是来解决您的问题,而是首先消除您对包 java.io 和 comp102x.IO 不相同的误解。最终名称无关紧要,但第一个名称无关紧要。如果 comp102x 在 java.io 中,则导入将如下所示。

import java.io.comp102x;

因此您必须在网上找到 comp120x 并将其包含在构建路径中。

本文链接:https://www.f2er.com/25406.html

大家都在问