深入理解:Java是類型安全的語言,而C++是非類型安全的語言
更新時間:2013年06月04日 10:34:23 作者:
本篇文章是對Java是類型安全的語言,而C++是非類型安全的語言進行了詳細的分析介紹,需要的朋友參考下
有過C++開發(fā)經(jīng)驗的人會發(fā)現(xiàn),我們可以將0作為false,非零作為true。一個函數(shù)即使是bool類型的,但是我們還是可以返回int類型的,并且自動將0轉(zhuǎn)換成false,非零轉(zhuǎn)換成true。代碼實例如下:
#include<iostream>
#include<stdlib.h>
using namespace std;
bool fun()//函數(shù)返回類型是bool,但是我們在函數(shù)中可以返回int類型。
{
return 1;
}
void main()
{
int a=1;
if(a)//a是int類型的,但是可以作bool類型來使用。
{
cout<<"C++是非類型安全的。"<<endl;
}
system("pause");
}
但是,在java中,我們就不能這樣使用了,java中不能做到int類型轉(zhuǎn)bool類型,比如以下代碼:
public class TypeSafeTest {
public static void main(String[] args) {
int i=1;
if(i)
{
System.out.println("java是類型安全語言");
}
}
}
執(zhí)行上述代碼會報如下錯誤:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Type mismatch: cannot convert from int to boolean
at TypeSafeTest.main(TypeSafeTest.java:4)
上述錯誤表明在java中int類型不能在自動轉(zhuǎn)變成bool類型了。這就是類型安全的意思。
復(fù)制代碼 代碼如下:
#include<iostream>
#include<stdlib.h>
using namespace std;
bool fun()//函數(shù)返回類型是bool,但是我們在函數(shù)中可以返回int類型。
{
return 1;
}
void main()
{
int a=1;
if(a)//a是int類型的,但是可以作bool類型來使用。
{
cout<<"C++是非類型安全的。"<<endl;
}
system("pause");
}
但是,在java中,我們就不能這樣使用了,java中不能做到int類型轉(zhuǎn)bool類型,比如以下代碼:
復(fù)制代碼 代碼如下:
public class TypeSafeTest {
public static void main(String[] args) {
int i=1;
if(i)
{
System.out.println("java是類型安全語言");
}
}
}
執(zhí)行上述代碼會報如下錯誤:
復(fù)制代碼 代碼如下:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Type mismatch: cannot convert from int to boolean
at TypeSafeTest.main(TypeSafeTest.java:4)
上述錯誤表明在java中int類型不能在自動轉(zhuǎn)變成bool類型了。這就是類型安全的意思。
相關(guān)文章
C++非繼承時函數(shù)成員訪問屬性和類繼承過程中的訪問控制
這篇文章主要介紹了C++非繼承時函數(shù)成員訪問屬性和類繼承過程中的訪問控制,非繼承時,protected成員和private成員沒有任何區(qū)別,都是類內(nèi)部可以直接訪問它們、類外部的類對象不可訪問它們、類內(nèi)部的類對象可以訪問它們,更多詳細內(nèi)容請參考下面相關(guān)資料2022-03-03Qt使用QChart實現(xiàn)靜態(tài)顯示溫度變化曲線
QChart模塊是Qt?Charts庫的基礎(chǔ),提供了用于創(chuàng)建和顯示各種類型圖表的類和接口,本文主要介紹了如何使用QChart實現(xiàn)動態(tài)顯示3個設(shè)備的溫度變化曲線,感興趣的可以了解一下2023-06-06詳解C語言求兩個數(shù)的最大公約數(shù)及最小公倍數(shù)的方法
這篇文章主要介紹了C語言求兩個數(shù)的最大公約數(shù)及最小公倍數(shù)的方法,輾轉(zhuǎn)相除法和輾轉(zhuǎn)相減法在解決這種問題時最常用到,需要的朋友可以參考下2016-03-03