Java程序员对C头文件有疑问
我对Java作为编程语言有相当多的实践,但我对C语言完全陌生。我知道头文件包含方法和变量的前向声明。这与Java中的抽象类有何不同?以下是答案:Java程序员对C头文件有疑问,c,C,我对Java作为编程语言有相当多的实践,但我对C语言完全陌生。我知道头文件包含方法和变量的前向声明。这与Java中的抽象类有何不同?以下是答案: Java在一些核心C程序员中名声不好,主要是因为他们认为: 它“太容易了”(没有内存管理,SEGFULTS) “不能用于严肃的工作” “只是为了网络”或者 “慢” 与Python等语言相比,Java已经不是当今世界上最简单的语言了 它被用于许多桌面应用程序中——小程序甚至不经常使用。最后,Java总是比C慢,因为它不是直接编译成机器代码的。不过,有
- 它“太容易了”(没有内存管理,SEGFULTS)
- “不能用于严肃的工作”
- “只是为了网络”或者
- “慢”
struct
s
如果它使您更容易学习,那么一定要将它们视为抽象类(实现文件是继承类)——但在没有明确支持上述特性的情况下,在使用一种语言时,很难使用这种思维方式
我不确定Java是否有它们,但我认为更接近于C#中的部分类- 它“太容易了”(没有内存管理,SEGFULTS)
- “不能用于严肃的工作”
- “只是为了网络”或者
- “慢”
struct
s
如果它使您更容易学习,那么一定要将它们视为抽象类(实现文件是继承类)——但在没有明确支持上述特性的情况下,在使用一种语言时,很难使用这种思维方式
我不确定Java是否有它们,但我认为更接近于C#中的部分类如果你向前声明了一些东西,你必须实际交付并实现它,否则编译器会抱怨。标头允许您显示“模块”的公共API,并使声明(用于类型检查等)可用于程序的其他部分。如果您转发声明内容,您必须实际交付并实现它,否则编译器会抱怨。标头允许您显示“模块”的公共API,并使声明(用于类型检查等)可用于程序的其他部分
#include
指令时,预处理器只是将头文件的内容包含在源文件中。
您将用户通常使用的每个声明都放在一个标题中#include
指令时,预处理器只是将头文件的内容包含在源文件中。
您将用户通常使用的每个声明都放在一个标题中void Test(int i);
void Test(int i)
{
...
}
extern int i;
int i;