日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java编程思想学习(一) 一切都是对象

發布時間:2023/12/10 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java编程思想学习(一) 一切都是对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

Java是基于C++的,但Java是一種更加純粹的面向對象程序設計語言。

C++和Java都是混合/雜合型語言。雜合型語言允許多種編程風格。

用引用操縱對象

每種編程語言都有自己操縱內存中元素的方式。

  • 直接操縱元素
  • 用某種基于特殊語法的間接表示(C和C++里的指針)
  • 用引用操縱對象(Java)

在Java中,一切都被視為對象。操縱的標識符實際上是對象的一個引用

  • 類比為遙控器(引用)來操縱電視機(對象)
  • 只要把握這個遙控器,就能保持與電視機的連接
  • 改變頻道或減小音量,實際操縱的是遙控器(引用),再由遙控器來調控電視機(對象)
  • 在房間四處走走,只要攜帶遙控器(引用)而不是電視機(對象)就能調控電視機
  • 即使沒有電視機,遙控器也可以獨立存在
1 //創建的只是引用而不是對象 2 String s1; 3 //創建一個引用的同時便進行初始化 4 //Java語言的特性:字符串可以用帶引號的文本初始化 5 String s2 = "abcd"; 6 //更通用的初始化方法 7 //創建一個引用,并與一個新的對象相關聯 8 String s3 = new String("abcd");

必須由我們創建所有對象

存儲到什么地方

程序運行時,對象的放置安排,內存的分配都是我們必須了解的。
有五個不同的地方可以存儲數據:
1.寄存器
2.堆棧
3.
4.常量存儲
5.非RAM存儲

寄存器:位于數量極其有限的寄存器,是最快的存儲區,寄存器會根據需求進行分配,不能直接控制,也不能在程序中感覺到寄存器存在的任何跡象

堆棧:位于通用RAM(隨機訪問存儲器)中,通過堆棧指針可以從處理器那里獲得直接支持,堆棧指針向下移動,則分配新的內存,向上移動,則釋放那些內存(這是一種快速有效的分配存儲方法,僅次于寄存器)創建程序時,Java系統必須知道存儲在堆棧內所有項的確切生命周期,以便上下移動堆棧指針。--->限制了程序的靈活性,所以某些Java數據(如對象引用)存儲在堆棧中,但是Java對象并不存儲在堆棧中

:通用的內存池(位于RAM區)。用于存儲所有java對象。編譯器不需要知道存儲的數據在堆中存活多長時間(靈活性,但分配和清理的時間較長)。

常量存儲:存放在程序代碼內部。

非RAM存儲:數據完全存活于程序之外,不受程序的任何控制,在程序沒有運行時也可以存在。如流對象持久化對象

特例:基本類型

new一個對象存儲在堆里,因此用new創建一個對象——特別是小的,簡單的變量往往不是很有效的。
對于這些類型,Java采取不用new來創建變量,而是創建一個并非是引用的自動變量(直接存儲值,并且存儲在堆棧中)。

Java語言對于每種基本類型所占存儲空間大小是固定的,不像其他語言隨機器硬件架構的變化而變化。(可移植性更高)

1 /** 2 * 基本類型創建的不是引用,而是一個自動變量,直接存儲值,并且存儲在堆棧中。 3 * 基本類型都有相對應的包裝器類,能在堆中創建一個非基本對象,用來表示相對應的基本類型。 4 */ 5 //基本類型 6 int i = 5; 7 //包裝類型 8 Integer integer = new Integer(i); 9 //Java SE5自動包裝 10 Integer integer1 = 4; 11 //反向轉換 12 int i1 = integer1;

?

轉載:http://www.cnblogs.com/JohnTsai/p/4606365.html

?

轉載于:https://www.cnblogs.com/benchao/p/5262833.html

總結

以上是生活随笔為你收集整理的Java编程思想学习(一) 一切都是对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。