靜態變量和實例變量的區別?


 靜態變量和實例變量的區別?
    在語法定義上的區別:靜態變量前要加static關鍵字,而實例變量前不加。

    在程序運行時的區別:實例變量屬於某個對象的屬性,必須創建了實例對象,其中的實例變量才會被分配空間,才能使用這個實例變量。

                               靜態變量不屬於某個實例對象,而是屬於類,所以也稱為類變量,只要程序加載了類的字節碼文件,不用創建任何實例象,靜態變量就會被分                                配空間,靜態變量就可以被使用了。

   總之,實例變量必須創建對象后才可以通過這個對象來使用,靜態變量則可以直接使用類名來引用。

 

是否可以從一個static方法內部發出對非static方法的調用?

    不可以。因為非static方法要與對象關聯在一起,必須創建一個對象后,才可以在該對象上進行方法的調用,而static方法調用時不需要創建對象,可以直接調用。也就是說,一個static方法被調用時,可能還沒有創建任何實例對象,所以,一個static方法內部不可以發出對非static方法的調用。

 

Integer與int的區別?

    int是java提供的8種基本數據類型之一。Java為每個原始類型提供了封裝類,Integer是Java為int提供的包裝類。int的默認值是0,而Integer的默認值是null,即Integer可以區分出來未賦值和值為0的區別,int則無法表達出來未賦值的情況,例如想要表達出沒有參加考試和考試成績為0的區別,則只能用Integer。

     詳見http://www.cnblogs.com/dazuihou/p/3567821.html

 

Math.round(11.5)等於多少?Math.round(-11.5)等於多少?

    Math類中提供了三種與取整有關的方法:ceil、floor、round。這些方法的作用與他們的英文名稱的含義相對應,ceil的英文意思是裝天花板,該方法就表示向上取整。floor的英文意思是地板,該方法就表示向下取整。至於round方法,他表示“四舍五入”,算法為Math.floor(x+0.5f),即將原來的數字加上0.5,之后再向下取整。所以,Math.round(11.5)的結果為12,Math.round(-11.5)的結果為-11。

 

下面代碼有什么不妥之處?

1.if(username.equals("zxx")){}

2.int x=1; return x==1?true:false;

    答:1.應該先判斷username是否是null;如果是null,則會出現空指針異常。

            改為:if("zxx".equals(username)){}

          2.x==1本身就返回boolean型,再用三元操作符判斷true和false多此一舉。

            改為:return x==1;

 

請說出作用域public,private,protected以及不寫時的區別

作用域 同一類 同一包 子類中 不同包
public
protected ×
defualt(friendly) × ×
private × × ×

    public:接口訪問權限

protected:繼承訪問權限

default:包訪問權限

private:你無法訪問(除了包含該成員的類以外,其他任何類都無法訪問這個成員)

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM