每次都需要创建一个Java类吗?

8

我开始学习Java编程语言,有点困惑。

我想创建一个简单的程序,比如加两个数字或计算n个数字的总和。在C或Python中,我可以轻松做到这一点,但在Java中,我必须为我的程序创建一个类,然后创建一个主类并从中调用我的程序。

我同时使用Netbeans和IntelliJ。

我能否像在其他语言中那样直接创建程序?我的意思是,在Java中是否必须使用类的概念?


这并不是真正回答你的问题,但 Kotlin 是一种运行在 JVM 上的语言,可以减少一些冗余代码,例如无需将方法放在类中。 - Kirill Rakhman
5个回答

16

我能直接像其他语言一样直接创建程序吗?

不行。

我的意思是,在Java中,类的概念是必要的吗?

是的。每个方法、字段等都始终在一个类(或接口)中。对于小程序来说,这可能会增加一些开销,但对于较大的程序,影响非常小。

像往常一样,用正确的工具来完成工作- 如果你想要几行脚本,请使用脚本语言。如果你想要更多的结构和组织,那么你应该期望有一些与此相应的“形式”。


3

Java要求每个函数/方法都必须在一个类中定义,包括main方法。

不是所有面向对象语言都有这个限制。在某些情况下,该约束仅作为一种便利(例如Python、Ruby),而一些语言(如JavaScript和Lua)通过基于原型的机制提供OOP功能。Java通过类系统强制实施面向对象编程,因此您可能会听到它被称为类导向语言。


3
我知道这是一个老问题,但我认为这个问题很重要,需要澄清一些东西。让我们看看这些定义:
Java是一种面向对象的通用编程语言,具有基于类和尽可能少的实现依赖性的设计。
C是一种支持结构化编程、词法变量作用域和递归的通用命令式计算机编程语言,静态类型系统避免了非预期的操作。
Python是一种解释型、高级别的通用编程语言,支持多种编程范式,包括过程式、面向对象和函数式编程。
Teo,什么是编程范式?
我的年轻Padawan,编程范式是编程的风格,或者说是构建软件的思考方式。这个概念不是指特定的语言,而是一种编程方式,一种方法论。
现在让我们深入探讨这些定义中发现的编程范式:
C支持结构化编程(SP)。SP有时被称为模块化编程,这是一种旨在提高程序可靠性和清晰度的技术。在SP中,程序流控制被限制在三个结构(即序列、选择[IF / THEN / ELSE]和重复[FOR / WHILE])或可从这些结构组合中导出的结构上。结果是构建了高度彼此独立的模块的程序。这强制对正在编写的程序进行逻辑结构,使其更加高效、易于理解和修改。
Python支持过程式编程(PP)。PP是一种编程范式,源自SP,基于过程调用的概念。过程调用是通过在括号内列出实际参数名称或值来简单地声明过程名称的语句。因此,这种范式是关于编写一系列指令,告诉计算机逐步执行任务的方式。它依赖于过程,它们只包含一系列要执行的计算步骤。
Java仅支持面向对象编程(OOP)。其主要重点是将数据和行为封装到对象中。OOP应用程序将使用一组对象,它们知道如何执行某些操作以及如何与应用程序的其他元素交互。例如,一个对象可以是一个人。那个人会有一个名字(那将是对象的属性),并且会知道如何走路(那将是一个方法)。在OOP中,方法可以被视为PP中的过程,但它属于特定的对象。OOP的另一个重要方面是类。一个类可以被视为对象的蓝图。
这意味着什么?
正如这个简单的定义所说,Java 是一种基于类和面向对象的编程语言。所以当用户问道:“我能否像在其他语言中那样直接创建程序?”,答案是 不可以,因为它不是该语言定义的一部分。

C 和 Python 为什么可以?

嗯,这是因为 *CPython 支持非成员函数,而 Java 仅支持成员函数。

成员函数和非成员函数之间有什么区别?

基本上,非成员函数 总是在类外定义,而 成员函数 必须定义为类的一部分。这是为了确定该函数是特定类的成员。成员函数非成员函数 之间的另一个区别是它们如何被调用(或调用)。 要调用 成员函数,您需要一个类对象来访问该函数,但是非成员函数 可以直接调用。

简而言之

Java 需要一个类来定义一个成员函数,例如 main(),因为它只支持 OOP。因此,如果您想要一个非常简单的程序,可以创建一个带有 main() 方法的类。考虑以下代码片段:

public class MainClass {
    public static void main(String[] args)  {
        System.out.print("Hello World!");
    }
}

这是C语言中的等价代码:
#include <stdio.h>
int main()
{
   printf("Hello, World!");
   return 0;
}

2

虽然你需要创建一个类,但问题特别询问你是否需要为程序创建一个类和一个主类来调用它。答案是“不需要”。

如果你想要一个非常简单的程序,你可以创建一个带有主方法的单个类,并在其中放置你的逻辑。像这样:

public class MyClass {
    public static void main(String[] args)  {
        // Do Something here
    }
}

1

Java是一种面向对象的编程语言。一切都由对象驱动。一个类作为蓝图,我们可以使用它来创建一个或多个对象。类 > 方法 > 执行单元。

即使你只想打印你的名字-在Java中也需要使用一个类。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接