Java面向對象第一天

  1. 什么是類?什么是對象?

    • 現實生活是由很多很多對象組成的,基于對象抽出了類

    • 對象:軟件中真實存在的單個的個體/東西

      類:類型/類別,代表一類個體

    • 類是對象的模板/模子,對象是類的具體的實例

    • 類中可以包含:

      • 對象的屬性/特征/數據-----------------成員變量

      • 對象的行為/動作/功能-----------------方法

    • 一個類可以創建多個對象

  2. 如何創建類?如何創建對象?如何訪問成員?

    //學生類
    public class Student {//成員變量String name;int age;String address;//方法void study(){System.out.println(name+"在學習...");}void sayHi(){System.out.println("大家好,我叫"+name+",今年"+age+"歲了,家住"+address);}
    }
    ?
    //學生類的測試類
    public class StudentTest {public static void main(String[] args) {//創建一個學生對象Student zs = new Student();//給成員變量賦值zs.name = "zhangsan";zs.age = 25;zs.address = "河北廊坊";//調用方法zs.study();zs.sayHi();
    ?Student ls = new Student();ls.name = "lisi";ls.age = 24;ls.address = "黑龍江佳木斯";ls.study();ls.sayHi();
    ?//1)創建了一個學生對象//2)給所有成員變量賦默認值Student ww = new Student();ww.study();ww.sayHi();}
    }

  3. 方法的簽名:方法名+參數列表

  4. 方法的重載(overload/overloading):---------------------------大大方便用戶的調用

    • 發生在同一類中,方法名相同,參數列表不同

    • 編譯器在編譯時會根據方法的簽名自動綁定調用方法

      //方法重載的演示
      public class OverloadDemo {public static void main(String[] args) {Aoo o = new Aoo();o.show();o.show(25);o.show("zhangsan");o.show("zhangsan",25);o.show(25,"zhangsan");}
      }
      ?
      class Aoo{void show(){}void show(String name){}void show(int age){}void show(String name,int age){}void show(int age,String name){}
      ?//int show(){ return 1; } //編譯錯誤,重載與返回值類型無關//void show(String address){} //編譯錯誤,重載與參數名稱無關
      }

補充:

  1. OO:面向對象

    OOA:面向對象分析

    OOD:面向對象設計

    OOP:面向對象編程-------------------你們以后所參與的部分

  2. 高質量的代碼:-------------想拿年薪所必須的必

    • 復用性好、擴展性好、維護性好、可移植性好、健壯性好、可讀性好、效率好......

  3. 類:是一種引用數據類型(是我們自己創造的一種數據類型)

  4. // ? ? ? ?  引用
    //數據類型 引用類型變量  指向 ? ?  對象Student ? ?zs ? ? ? ?= ? new Student();
  5. new對象時會給所有成員變量賦默認值,規則如下:

    byte,short,int,long,char-------------------0
    float,double-------------------------------0.0
    boolean------------------------------------false
    引用類型------------------------------------null

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/165186.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/165186.shtml
英文地址,請注明出處:http://en.pswp.cn/news/165186.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

docker mysql 宿主機掛載配置文件

官方文檔摘錄(勿噴,僅供自己筆記) 官方文檔如下: The MySQL startup configuration is specified in the file /etc/mysql/my.cnf, and that file in turn includes any files found in the /etc/mysql/conf.d directory that e…

GoLang語言范圍(Range)

目錄 一、在數組、切片上使用‘range’ 二、在映射上使用range 三、在通道上使用range Go語言中的range關鍵字用于迭代數組(數組、切片、字符串)、映射(map)、通道(channel)或者在 for 循環中迭代每一個…

案例022:基于微信小程序的行政復議在線預約系統

文末獲取源碼 開發語言:Java 框架:SSM JDK版本:JDK1.8 數據庫:mysql 5.7 開發軟件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序開發軟件:HBuilder X 小程序…

Django之中間件

引入 1、Django自帶7個中間件,每個中間件都有各自的功能 2、django能夠自定義中間件 3、使用場景: 1. 全局身份校驗 2. 全局用戶權限校驗 3. 全局訪問頻率的校驗 ...... 【1】什么是中間件 Django中間件是一個輕量級、可重用的組件,用于處理…

python運行jackhmmer二進制命令的包裝器類

jackhmmer 是 HMMER 軟件套件中的一個工具,用于進行高敏感度的蛋白質序列比對。HMMER(Hidden Markov Model based on profile)是一套用于分析蛋白質序列的工具,它使用隱藏馬爾可夫模型(HMM)來建模蛋白質家族…

nodejs微信小程序+python+PHP -留學信息查詢系統的設計與實現-安卓-計算機畢業設計

目 錄 摘 要 I ABSTRACT II 目 錄 II 第1章 緒論 1 1.1背景及意義 1 1.2 國內外研究概況 1 1.3 研究的內容 1 第2章 相關技術 3 2.1 nodejs簡介 4 2.2 express框架介紹 6 2.4 MySQL數據庫 4 第3章 系統分析 5 3.1 需求分析 5 3.2 系統可行性分析 5 3.2.1技術可行性:…

543. 二叉樹的直徑 --力扣 --JAVA

題目 給你一棵二叉樹的根節點,返回該樹的 直徑 。 二叉樹的 直徑 是指樹中任意兩個節點之間最長路徑的 長度 。這條路徑可能經過也可能不經過根節點 root 。 兩節點之間路徑的 長度 由它們之間邊數表示。 解題思路 最長長度可以理解為左子樹最長路徑加上右子樹最長…

MySQL錯誤之ONLY_FULL_GROUP_BY

報錯信息: 翻譯: 對該報錯的解釋 所以,實際上該報錯是由于在SQL查詢語句中有group by,而這個包含group by的SQL查詢寫的并不規范導致的,這個ONLY_FULL_GROUP_BY模式開啟之后檢查就會很嚴格,如果select列表…

uniapp為什么能支持多端開發?uniapp底層是怎么做的?

文章目錄 前言uniapp為什么能支持多端開發?uniapp底層是怎么做條件編譯uniapp的語法uniapp如何編譯為不同端的代碼uniapp的底層是如何做平臺特性適配的呢?后言 前言 hello world歡迎來到前端的新世界 😜當前文章系列專欄:uniapp &…

【lua】記錄函數名和參數(為了延后執行)

需求背景 一個服務緩存玩家信息到對象里,通過對象的函數定時同步到數據庫中,如果玩家掉線 清空對象,但是后續步驟導致對象數據需要變更,對象不存在, 就不方便變更了,怎么處理? 方案思考 1.臨…

計算機網絡——路由

文章目錄 1. 前言:2. 路由基礎2.1. 路由的相關概念2.2. 路由的特征2.3. 路由的過程 3 路由協議3.1. 靜態路由:3.2. 動態路由:3.2.1. 距離矢量協議3.2.2. OSPF協議:3.2.2.1.OSPF概述OSPF的工作原理路由計算功能特性 3.2.2.2.OSPF報…

【Kafka】Java整合Kafka

1.引入依賴 <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>2.3.1</version></dependency> 2.搭建生產者 package com.wen.kafka;import org.apache.kafka.clients.produ…

Vuejs+ElementUI搭建后臺管理系統框架

文章目錄 1. Vue.js 項目創建1.1 vue-cli 安裝1.2 使用 vue-cli 創建項目1.3 文件/目錄介紹1.4 啟動 Web 服務 2. 集成 Vue Router 前端路由2.1 Vue Router 是什么2.2 集成 Vue Router 方法2.3 使 Vue Router 生效 3. 集成 Vuex 組件3.1 Vuex 是什么3.2 集成 Vuex 方法3.3 使 V…

2023全球數字貿易創新大賽-人工智能元宇宙-4-10

目錄 競賽感悟: 創業的話 好的項目 數字工廠,智慧制造:集群控制的安全問題

dlv 安裝與使用

dlv 安裝 第一步&#xff1a; # git clone https://github.com/go-delve/delve # cd delve # make install 第二步&#xff1a; # ln -s /root/go/bin/dlv /usr/local/bin/dlv 第三步&#xff1a; # dlv version Delve Debugger Version: 1.21.2 Build: d6f215b27b6d8a4e4…

Excel中出現“#NAME?”怎么辦?(文本原因)

excel 單元格出現 #NAME? 錯誤的原因有二&#xff1a; 函數公式輸入不對導致 #NAME? 錯誤。 在單元格中字符串的前面加了號&#xff0c;如下圖中的--GoJG7sEe6RqgTnlUcitA&#xff0c;本身我們想要的是--GoJG7sEe6RqgTnlUcitA&#xff0c;但因為某些不當的操作在前面加了號&…

vue+SpringBoot的圖片上傳

前端VUE的代碼實現 直接粘貼過來element-UI的組件實現 <el-uploadclass"avatar-uploader"action"/uploadAvatar" //這個action的值是服務端的路徑&#xff0c;其他不用改:show-file-list"false":on-success"handleAvatarSuccess"…

萬界星空科技商業開源MES/免費MES/低代碼MES

萬界星空科技商業開源MES可以提供包括制造數據管理、計劃排程管理、生產調度管理、庫存管理、質量管理、人力資源管理、工作中心/設備管理、工具工裝管理、采購管理、成本管理、項目看板管理、生產過程控制、底層數據集成分析、上層數據集成分解等管理模塊&#xff0c;打造一個…

141.【Git版本控制-本地倉庫-遠程倉庫-IDEA開發工具全解版】

Git-深入挖掘 (一)、Git分布式版本控制工具1.目標2.概述(1).開發中的實際常見(2).版本控制器的方式(3).SVN (集中版本控制器)(4).Git (分布版本控制器)(5).Git工作流程圖 (二)、Git安裝與常用命令1.Git環境配置(1).安裝Git的操作(2).Git的配置操作(3).為常用的指令配置別名 (可…

element中el-switch的v-model自定義值

一、問題 element中的el-switch的值默認都是true或false&#xff0c;但是有些時候后端接口該字段可能是0或者1&#xff0c;如果說再轉換一次值&#xff0c;那就有點太費力了。如下所示&#xff1a; <template><el-switchinactive-text"否"active-text&quo…