有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java公共静态void是什么意思?什么是课堂?

我刚刚接受了我所有的程序都必须从这个开始。然后我看了一个关于生成随机数的例子#2here

import java.util.Random;

/** Generate random integers in a certain range. */
public final class RandomRange {

  public static final void main(String... aArgs){
    log("Generating random integers in the range 1..10.");

    int START = 1;
    int END = 10;
    Random random = new Random();
    for (int idx = 1; idx <= 10; ++idx){
      showRandomInteger(START, END, random);
    }

    log("Done.");
  }

  private static void showRandomInteger(int aStart, int aEnd, Random aRandom){
    if (aStart > aEnd) {
      throw new IllegalArgumentException("Start cannot exceed End.");
    }
    //get the range, casting to long to avoid overflow problems
    long range = (long)aEnd - (long)aStart + 1;
    // compute a fraction of the range, 0 <= frac < range
    long fraction = (long)(range * aRandom.nextDouble());
    int randomNumber =  (int)(fraction + aStart);    
    log("Generated : " + randomNumber);
  }

  private static void log(String aMessage){
    System.out.println(aMessage);
  }
} 

我注意到这有一个公共静态空白和一个私人静态空白。为什么不在public static void下把代码合并成一个东西呢?更重要的是,这意味着什么?我做了研究,发现“班级”这个词经常出现。什么是课堂?我希望我的问题符合指导原则,这是我第一次在这里发帖。谢谢


共 (1) 个答案

  1. # 1 楼答案

    我假设你问这个问题是因为你想得到一个简洁的答案,给你一些直觉,而不是从教程中深入了解OOP

    Aclass是一个用来构建对象的模板。然而,在您理解OOP之前,class只是您正在编写的命令式代码的必要包装,因为Java要求所有代码都存在于一个类中

    public表示该方法可公开访问。在除此之外的类中定义的方法可以访问它private的意思正好相反

    static意味着这是一个类级别的函数,不绑定到该类的任何特定实例

    void表示该方法不返回任何内容

    您当然可以将所有代码放在一个方法下,但这至少会带来以下问题

    1. 代码更难阅读,因为实现的细节隐藏了代码的意图
    2. 代码更难重用,因为无论何时在多个地方需要相同的功能,都必须进行复制和粘贴