類物件,類名.class與類名.this
轉自:http://blog.csdn.net/cto_51/article/details/8962357
- publicclass TestClass {
- publicstaticvoid main(String[] args) {
- // 在執行期間,如果我們要產生某個類的物件,java虛擬機器會檢測該型別的Class物件是否已被載入
- <span style="white-space:pre"> </span>// 如果沒有載入,java虛擬機器會根據類的名稱找到.class檔案並載入它。
-
// 當new Point()的時候載入這個類,用forName構造例項的時候也載入該類。 只加載一次
- System.out.println("before new Point()");
- new Point();
- System.out.println("after new Point()");
- try {
- Class.forName("Line");
- } catch (Exception e) {
- e.printStackTrace();
- }
-
// 利用物件呼叫getClass()方法獲取該物件的Class例項
- Point pt = new Point();
- Class c1 = pt.getClass();
- System.out.println(c1.getName()); // 結果:Point
- // 使用Class的靜態方法forName(),用類的名字獲取一個Class例項
- try {
- Class c2 = Class.forName("Point");
- System.out.println(c2.getName()); // 結果:Point
- // 一旦某個型別的Class物件已經被載入到記憶體,就可以用它來產生該型別的所有物件。
- Point pp = (Point) c2.newInstance(); // newInstance()呼叫類中預設的構造方法
- pp.output();
- } catch (Exception e) {
- e.printStackTrace();
- }
- // 運用.class的方式獲取Class例項(類)
- Class c3 = Point.class;
- System.out.println(c3.getName()); // 結果:Point
- // 運用.calss的方式獲取Class例項(基本型別)
- Class c4 = int.class;
- System.out.println(c4.getName()); // 結果:int
- // 運用.class的方式獲取Class例項(基本資料型別的封裝類)
- Class c5 = Integer.TYPE;
- System.out.println(c5.getName()); // 結果:int
- Class c6 = Integer.class;
- System.out.println(c6.getName()); // 結果:java.lang.Integer
- }
- }
- class Point {
- static {
- System.out.println("loading point");
- }
- void output() {
- System.out.println("x=" + x + ",y=" + y);
- }
- int x, y;
- }
- class Line {
- static {
- System.out.println("loading Line");
- }
- }
相關推薦
類物件,類名.class與類名.this
轉自:http://blog.csdn.net/cto_51/article/details/8962357 1.當在內部類中使用this指的就是內部類的物件, 為了訪問外層類物件,就可以使用外層類名.this來訪問。 2. 在java中,每個class都有一個相
【Java】【反射技術】2個物件除了類名不一樣,類的定義部分完全一樣;當給定一個物件,轉換成另一個類的物件。
1.需求 有時候,在專案開發時候會遇到,特別是Web專案開發,本地工程有一個類A,web工程根據配置檔案會自動生成另外一個class B,而A和B除了類名不同, 其他諸如成員變數以及get\set方法都是相同的(就像下面的Objec1和Object2兩個類一樣),這時候,就
WPF{ComboBox繫結類物件, 下拉列顯示的值,與取到的值}
DisplayMemberPath 是用來顯示下拉列表的值 SelectedValuePath是用來取得選中項的值。ComboBox繫結類物件, 下拉列顯示的值,與取到的值 string.
java將JSON字串轉換為實體類物件,基於net sf json實現
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
C++如何實現只能動態分配類物件,不能定義類物件
動態分配類物件:就是使用運算子new來建立一個類的物件,在堆上分配記憶體。 靜態分配類物件:就是A a,由編譯器建立類物件,在棧上分配記憶體。 1)動態分配類物件 把類的建構函式和解構函式設為protected屬性。類物件不能訪問,但是派生類可以繼承,也可以訪問。 同時,建立crea
為什麼基類的指標可以指向派生類物件,但是派生類指標不能指向基類物件
Derive *bp1; Derive dpp; bp1 = &dpp; bp1->show(); Base bpp; bp1 = &bpp; //錯誤 假設有個people類是基類,成員有姓名和身份證號,有個派生類學生student,添加了成員
為什麼基類指標和引用可以指向派生類物件,但是反過來不行?
基類指標和引用 BaseClass *pbase = NULL; DerivedClass dclass; pbase = & dclass; 基類指標和引用可以指向派生類物件,但是無法使用不存在於基類只存在於派生類的元素。(所以我們需要虛擬函式和純虛擬函式) 原因是這樣的:
C++中的 靜態成員變數,全域性類物件,單例模式
前段時間要實習一個充值介面,建立了一個類(就叫類A好了),這個類A要和另外3個類進行互動,3個類對類A修改的資料是對其他類可見的。這種情況我想到了3個方法: 1.static 靜態成員,靜態成員為該類的所有例項所共享,3個類中各自建立一個類A的物件,它們對靜態成員的修改對其他類可見。 2.全
python-第一類物件,閉包,迭代器
# def fn(): # print("我叫fn") # fn() # print(fn) # <function fn at 0x0000000001D12E18> # fn() # gn = fn # 函式名可以進行賦值 # print(gn) # gn() # fn =
定義一個複數類Complex,過載運算子“+”,使之能用於複數的加法運算。參加運算的兩個運算量可以都是類物件,也可以其中有一個是整數,順序任意。例如,c1+c2,i+c1,c1+i均合法(設i為整數,
#include <iostream> #include <iomanip> using namespace std; class Complex { public: Complex() { real=0;
C#類反射,執行時建立類物件,讀取設定屬性值列子。
using System; using System.Reflection; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tas
Java中的介面定義、知識要點,如何區分介面與類
介面的定義為:是一個抽象型別,是抽象方法的集合,介面通常以interface來宣告 與類的區分:類描述物件的屬性和方法,介面則包含類要實現的方法。通俗化理解:類在說“是什麼”,介面在說“有什麼” 介面知識要點: 1、介面中的變數一般用public static final修飾符修
Python學習筆記_類,類物件,例項物件
1、self 當例項方法被呼叫時,物件會將自身self作為第一個引數傳入。所以在定義時需要將self寫入,在呼叫時不用寫。 2、公有、私有 Python的屬性和方法預設都是公有的,可以通過 . 訪問到, 通過在屬性名前可以加上雙下劃線可以將其偽私有化,這樣只能通過類的
【無私分享:ASP.NET CORE 專案實戰(第二章)】新增EF上下文物件,新增介面、實現類以及無處不在的依賴注入(DI)
目錄索引 簡介 上一章,我們介紹了安裝和新建控制器、檢視,這一章我們來建立個數據模型,並且新增介面和實現類。 新增EF上下文物件 按照我們以前的習慣,我們還是新建幾個資料夾 Commons:存放幫助類 Domians:資料模型 Services
JAVA基礎篇 ,類 物件,,封裝 , 繼承 的抽象思想
封裝 封裝是在一個類中繫結屬性和方法的過程。通過封裝,一個類的內部細節可以被隱藏從外部。它允許類的元素只能通過類提供的介面訪問外部。 資料隱藏 通常情況下,一個類被設計成這樣,它的資料(屬性)只能通過它的類方法訪問,並從直接外部訪問絕緣。這個過程的絕緣一個物件的資料被稱為資料隱藏或資訊隱藏。 例子 在類中,通
類名.class和類名.this的區別
類名.class我們知道在java中,一個類在被載入的時候虛擬機器就會自動的生成一個這個類的一個Class型別的“類物件”,每個類都對應著一個這樣的類物件,通過這個Class型別的類物件,我們就能夠使用“內省與反射”機制,訪問一個類的資訊,比如:對應類中的方法有哪些,成員域有
“T”必須是具有公共的無參數構造函數的非抽象類型,才能用作泛型類型或方法
where AC cli get result 類型 round style use 在創建架構提取公共方法時,發生了這個錯誤 public class BaseDal<T> where T:class { private readon
在定義類時,何時需要重寫Object類中equals()方法?
在比較兩個物件時可以使用==和 equals()。==用於比較兩個物件的引用地址是否相等,而equals()方法主要用於比較兩個物件的內容是否相等。和equals()的差別請參見“和equals()有什麼區別?”的解答。 在 Object 中已定義了 equals()方法,但是該方法直接採用
關於如何製作自己的Java第三方類庫,以及如何製作自己類庫的Javadoc
隨著自己程式設計能力的提升以及參加專案的增多,越來越強烈地感覺到,好多曾經專案中使用過的Java類以及方法, 在正在參加的專案中也需要使用,而如果只是單純地複製,貼上,顯然既不美觀,也會出現很多問題,比如忘記方 法到底是如何實現,返回型
學習python的第九天(內置算法:列表數據類型,元祖數據類型,字典數據類型)
定義 sort 排序 [] 區別 ict code true 結果 復制 5.8自我總結 1.列表類型內置算法 1.必須掌握 1.按索引取值(正向取值+反向取值),即可存也可以取 #用於取其中一個值 name = ['yang','wen',