惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Forbes - Security
Forbes - Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
F
Fortinet All Blogs
B
Blog
T
The Blog of Author Tim Ferriss
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
Y
Y Combinator Blog
Microsoft Azure Blog
Microsoft Azure Blog
L
LangChain Blog
Recent Announcements
Recent Announcements
U
Unit 42
Martin Fowler
Martin Fowler
M
MIT News - Artificial intelligence
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The Register - Security
The Register - Security
Recorded Future
Recorded Future
C
Check Point Blog
V
V2EX
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
F
Full Disclosure
小众软件
小众软件
A
About on SuperTechFans
云风的 BLOG
云风的 BLOG
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
有赞技术团队
有赞技术团队
MongoDB | Blog
MongoDB | Blog
爱范儿
爱范儿
P
Proofpoint News Feed
罗磊的独立博客
量子位
D
Docker
博客园_首页
D
DataBreaches.Net
Project Zero
Project Zero
博客园 - 司徒正美
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园 - Franky
Security Latest
Security Latest
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
N
Netflix TechBlog - Medium
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 三生石上(FineUI控件)
H
Hackread – Cybersecurity News, Data Breaches, AI and More
大猫的无限游戏
大猫的无限游戏

CrazyWong

CrazyWong AI LOGO 🎧 Anson Seabra - Keep Your Head Up Princess 是的,我又更換了域名 1.5 萬字 CSS 基礎拾遺(核心知識、常見需求) JavaScript - 日期 Date JavaScript - 數組 Array 域名更換 前端 JavaScript 自測清單 2 前端 JavaScript 自測清單 1 通過travis-ci或者GitHub Actions自動化部署GitHub Pages和Coding Pages 添加Windows Terminal到鼠標右鍵菜單 調研實現高性能動畫 在瀏覽器輸入 URL 回車之後發生了什麼(超詳細版) hexo-theme-butterfly 安裝文檔(一)快速開始 設置Windows電腦自動關機 Windows必裝軟件推薦 關於字符編碼,你所需要知道的(ASCII,Unicode,Utf-8,GB2312…) 好用的新浪圖床工具推薦 - Weibo-Picture-Store Java知識點複習(一) Visual Studio Code 插件推薦-VSC Netease Music 重裝系統後重新部署恢復 Hexo blog Windows上Java的環境變量配置 Adapter 9Patch 介紹 第一行代碼筆記-RecyclerView 為Blog添加版權説明 第一行代碼筆記-ListView 第一行代碼筆記-創建自定義控件 第一行代碼筆記-四大Layout Hexo和Next主題的相關設置(持續更新) 第一行代碼筆記-bulid.gradle 解析 第一行代碼筆記-Android Studio工程目錄結構介紹 第一行代碼筆記-工具日志log
Java知識點複習(二)
MYW · 2019-04-10 · via CrazyWong

發表於|Java

|總字數:719|閱讀時間:2分鐘|瀏覽量:

面向對象程序設計(OOP)

面向對象的程序由對象組成的,每個對象包含對用户公開的特定功能部分和隱藏的實現部分。
oop將數據擺在第一位,然後考慮操作數據的算法。

對象

要使用OOP,要瞭解對象的三個主要特性:

  • 對象的行為(behavior) ———— 可以對對象施加哪些操作,或可以對對象施加哪些方法?
  • 對象的狀態(state) ———— 當施加那些方法時,對象如何響應?
  • 對象標識(identity) ———— 如何辨別具有相同行為與狀態的不同對象?

類之間的關係

  • 依賴(“uses-a”)
    如果一個類的方法操作另一個類的對象,我們就説一個類依賴另一個類

  • 聚合(“has-a”)
    聚合意味著類A的對象包含類B的對象

  • 繼承(“is-a”)
    類A擴展類B,類A不但包含從類B繼承的方法,還會擁有一些額外的功能

使用預定義類

對象與對象變量

要想使用對象,就必須首先構造對象,並指定其初始狀態。然後,對對象應用方法。
構造器(constructor)用來構造新實例。構造器是一種特殊的方法,用來構造並初始化對象。

構造器的名字應與類名相同。
以Date類為例,Date類的構造器名為Date。構造一個Date對象,需要在構造器前面加上new操作符。
new Date()
這個表達式構造一個新對象,這個對象被初始化啊為當前的日期和時間。
為了讓構造的對象能多次使用,將對象存放在一個變量
Date birthday = new Date()

下圖顯示了引用新構造的對象變量birthday

創建一個新對象

在對象與對象變量之間存在一個重要的區別。例如
Date deadline //deadline doesn’t refer to any object
定義了一個對象變量deadline,它可以引用Date類型的對象。
但是,變量deadline不是一個對象,實際上也沒有引用對象。

必須初始化變量deadline,有兩個選擇。一是用新構造的對象初始化這個變量
deadline = new Date()
二是讓這個變量引用一個已存在的對象:
deadline = birthday
現在兩個變量引用同一個對象

引用同一個對象的對象變量

一個對象變量並沒有實際包含一個對象,而僅僅引用一個對象。
在Java中,任何對象變量的值都是對存儲在另外一個地方的一個對象的引用

Date deadline = new Date()
表達式new Date()構造了一個Date類型的對象,並且它的值是對新創建對象的引用。這個引用存儲在變量deadline中。

可以將對象變量設為null,表明這個對象變量目前沒有引用任何對象。
deadline = null;

版權聲明: 本部落格所有文章除特別聲明外,均採用CC BY-NC-SA 4.0 授權協議。轉載請註明來源 CrazyWong