訪問器於構造器的高階使用
訪問器
1.屬於封裝的一個分支;用於訪問本類中的私有成員變數
2. 快捷鍵 Alt +Shift+S 然後選擇訪問器快速生產
構造器
1.用於被子類繼承時呼叫
2.規範物件的建立
3.賦值給成員變數並改變此預設值
兩個類關於構造器和訪問器的題
- 建立Customer類
package 訪問器的高階練習;
public class Customer {
private String firstName;
private String lastName;
private Account account;//重要的一部分 使這兩個類聯絡
public Customer() {}
public Customer(String firstName, String lastName) {
super();
this.firstName = firstName;
this.lastName = lastName;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Account getAccount() {
return account;
}
public void setAccount(Account account) {
this.account = account;
}
// toString
@Override
public String toString() {
return "Customer [firstName=" + firstName + ", lastName=" + lastName + ", ID:" + account.getId() + "]";
}
}
- 建立Account類
package 訪問器的高階練習;
public class Account {
private int id;
private double balance;
private double annuallnterestRate;
public Account(int id, double balance, double annuallnterestRate) {
super();
this.id = id;
this.balance = balance;
this.annuallnterestRate = annuallnterestRate;
}
public int getId() {
return id;
}
public double getBalance() {
return balance;
}
public double getAnnuallnterestRate() {
return annuallnterestRate;
}
public void setId(int id) {
this.id=id;
}
public void setBalance(double balance) {
this.balance=balance;
}
public void setAnnuallnterestRate(double annuallnterestRate) {
this.annuallnterestRate=annuallnterestRate;
}
public double withdraw(double amount) {
if(amount>balance) {
System.out.println("餘額不足");
}else {
balance-=amount;
}
return amount;
}
public void deposit(double amount) {
balance+=amount;
}
//toString的功能就是用來列印使用者所有變數的資訊的;返回值型別不能為空
// @override
//public String toString() {
// return "saa";
//}
}
- 建立測試類 (關鍵是如何將兩個類聯絡起來以及如何
呼叫Customer的Account類的變數)
package 訪問器的高階練習;
public class CustomerTest {
public static void main(String[] args) {
Customer a=new Customer("Jane","Smith");
Account b=new Account(1000,2000,0.0123);
a.setAccount(b);//將賬戶賦值給使用者 是他們聯絡
Account c =a.getAccount();//獲取該使用者的賬戶並賦值
c.deposit(100);
c.withdraw(960);
c.withdraw(2000);
//有toString方法,就可以輸出字串,否則直接是地址
//toString方法我寫到了 Customer自定義類中,這個自定義類中含有所有的變數
System.out.println(a);
}
相關文章
- 構造器
- Centos8伺服器安全高階篇(三 Apache 目錄訪問控制)CentOS伺服器Apache
- java構造器Java
- 【lombok】@NoArgsConstructor/@RequirArgsConstructor/@AllArgsConstructor - 生成無參構造器,指定引數構造器或包含所有引數的構造器LombokStructUI
- 日曆(設計構造器與預設構造器)
- Mybatis-Plus - 條件構造器 QueryWrapper 的使用MyBatisAPP
- Laravel 中的訪問器Laravel
- Java--構造器和構造方法Java構造方法
- Laravel 使用筆記之一 訪問器Laravel筆記
- Python——迭代器的高階用法Python
- 14.構造器
- Laravel 訪問器 $appends 忽略的問題LaravelAPP
- SpringBoot資料訪問之Druid啟動器的使用Spring BootUI
- Spring MVC 中的攔截器的使用“攔截器基本配置” 和 “攔截器高階配置”SpringMVC
- 基於Vue構造器建立Form元件的通用解決方案VueORM元件
- Java構造器 小白版Java
- iOS提供指定構造器iOS
- 使用openSSL構造一個支援https的nodejs伺服器HTTPNodeJS伺服器
- 使用 Laravel Eloquent 構造器讓模型更簡潔Laravel模型
- Getter訪問器和Setter修改器
- python描述器的訪問順序Python
- 什麼是 Java 構造器?Java
- 物件導向和構造器物件
- Python裝飾器高階用法Python
- 【高階RAG技巧】使用二階段檢索器平衡檢索的效率和精度
- SAP Data Intelligence Graph使用瀏覽器訪問的url規範Intel瀏覽器
- 使用nodejs和Java訪問遠端伺服器的服務NodeJSJava伺服器
- 一文了解 Java 中的構造器Java
- (譯)Effective Kotlin系列之遇到多個構造器引數要考慮使用構建器(二)Kotlin
- 機器學習之使用sklearn構造決策樹模型機器學習模型
- Day31--構造器詳解
- this,構造器,static,final,單例模式單例模式
- 理解 sole() 查詢構造器方法
- java學習之深入構造器Java
- python高階-閉包-裝飾器Python
- kredis:用於Rails的Redis高階資料結構RedisAI資料結構
- Nginx 高階篇(七)大訪問量優化的整體思路Nginx優化
- 使用管道流實現Java 8階段構建器Java