轉載自http://blog.sina.com.cn/s/blog_75f4e17c0101295o.html
C++ HelloWorld
main.cpp
#include< iostream>
using namespace std;
class HelloWorld
{
public:
void say()
{
cout<< "HelloWorld"<<endl;
}
};
class HelloWorld_other
{
public:
void say()
{
cout <<"HelloWorld_ other "<<endl;
}
};
void main()
{
HelloWorld hw;
hw.say();
cout<< "HelloWorld_other"<<endl;
}
Java HelloWord
HelloWorld.java
public class HelloWorld
{
float m_fNum = 0; //可以直接在類中聲名並初始化,C++不行
public static void main(String[] args) //java入口函數格式,args這個名可以隨意取
{
System.out.println("Hello Word");
Test otest = new Test();
}
}
class Test {}
區別:
1. Java類前有了標識符
2. main函數移到了類中,C/C++中main為主函數不在任何類中
3. Java類名必需與文件名一致,C++無此要求,文件名可以與類名不同。(Java有多個類的時候,public類的類名與原文件名一致,或者說public類的類名就是源文件名)
4. Java一個源文件中只能有一個public類,其它控制權限的類可以有多個,C++中類沒有權限控制,只有方法和屬性權限。
5. Java類之間不用”;”號分開,而C++類之間必需要用 “;”號隔開。
Java類之間的使用不用遵循先聲明再使用的規則,而C++必需先聲名才可以使用。class Test {}這個類可以在HelloWorld類前也可以在后並不影響使用。原因:Java會把一個源文件的多個類都分別生成.class文件(HelloWorld.class與Test.class),調用時候直接去找相應的.class進行裝配。而C++直接生成.obj文件,所有的類都在一個文件里。
6. Java的標識符由字母,數字,下划線,$組成,可以以字母,下划線,$開頭,而C++ 字母,數字,下划線組成,以字母,下划線開頭。
7. Java中的常量標識符為final,C++中為const。
8. Java類外(與類對應的大括號外面)不能有變量的聲明,而C++可以,做為C++的全局變量。這也體現了Java是純面向對向的語言。
9. 數據類型角度講,Java所有數值類型都是帶符號的,C++可以有無符號類型數據
10. Java的boolean類型不可以轉換為其他的數據類型,其它數據類型也不能轉換成boolean。(Java中boolean類型只有兩個值true false)。
- Java類中聲明一個變量時可以直接初始化(如果不初始化會自動初始化為0或false,但函數內部定義的局部變量不會自動給初始化的),而C++不行。
- Java語言中除了基本類型之外的變量類型都稱之為引用類型,C++中引用是型由&標出
