不好意思問一些關於java的基本概念。私有字段,點符號,getter setter方法
我對如何訪問類中的私有字段感到困惑。
例如,我已經定義了一個類:
private class Example{
private Timestamp fromdate;
private Timestamp todate;
private float amount;
public example(Timestamp fromdate, Timestamp todate, float amount){
this.fromdate= fromdate;
this.todate= todate;
this.amount = amount;
}}
請問如果我使用構造函數創建一個新的例子類,即
example ex = new example (fromdate, todate, amount)
我可以訪問聲明的私有字段對於前變量只是由
ex.fromdate,ex.todate,ex.amount ??
何時以及爲什麼我們需要聲明getter和setter方法來獲取對象內的變量,同時我們可以直接使用點符號來獲取類中的字段?
非常感謝
---------------------------編輯----------- ---------------------------
一個問題球員,
請問我是否可以直接使用點符號如果我將上面的類嵌套到另一個類中,獲取私有字段?
例如:
public class ExampleOutterClass{
private class Example(...){...}
---Some Operation to get fromdate, todate, amount)---
Example ex = new Example (fromdate, todate, amount);
public Timestamp fromdate = ex.fromdate;
public Timestamp todate = ex.todate;
public float amount = ex.amount;
}
我想在我的Jbuilder的(很老的開發工具ORZ)的上述做法,並發現它的怪異,我可以直接使用點符號來指代私有字段,所以我提出這個問題。
BTW真的感謝您的幫助
你的構造函數看起來不錯。除非你實現公開的getter方法,否則「私人」的想法是讓你不能從外部類訪問。通常需要隱藏課堂的內部運作。 –
Java編碼約定表示您的類名應以大寫字母和帶小寫字母的變量開頭。所以你的類名應該是'Example',它更容易閱讀和理解。 :) – Sufian
嵌套類不完全是外部類的成員,但它們非常相似。就像成員可以訪問任何其他成員一樣(任何方法都可以調用其他成員,甚至在同一類中聲明的私有方法)嵌套類可以訪問所有其他成員,並且可以被他們訪問。然後 – Pshemo