1. 程式人生 > >JAVA基礎:一、類和物件

JAVA基礎:一、類和物件

1、複習
 Java基礎語法規範
        Java兩種大的資料型別:基本資料型別、引用資料型別
        基本資料型別:八種回顧
                      引用資料型別:陣列、字串、類、Scanner、Connection  變數的命名規則:
       1.只能由數字、字母、下劃線和$組成
       2.不能有數字開頭
       3.不能以關鍵字命名(new class )
       4.嚴格區分大小寫。  八種基本資料型別:
       整形 int(32位)   long  short  byte
       小數:double  float
       字元型:char
       布林型:boolean  String(特殊的資料型別)  變數; 資料型別 變數名;
 變數的賦值: 變數名 = 資料;
 注意:資料要和與之對應的資料型別相匹配。
 (錯誤示範:)int  a ="逗逼";
 算術運算子:+ - * / % += -= *=  ++ -- (自加,自減)
 注意:/(取整:當除數和被除數都是整數的時候,做的是取整) 例如:8/3=2
      例如; String str ="逗逼" ; str +="無聊"; 相當於 str = str +"無聊";
      例如:i++ 相當於   i= i+1;
 關係運算符: < > == <= >= !=
 邏輯運算子:&&並且   ||或者   !(非)  if(){
 }  if(){
 }else{
 }  if(){
 }else if(){
 }  while(){
 }  for(int i ; i<10 ;i++){
 } 2、新內容
 一、目標:掌握類和物件的特徵
  會建立和使用物件
  理解封裝:a)理解封裝概念。 b)掌握private關鍵字。c)掌握構造方法。d)掌握方法過載。  二、類和物件(面向物件,屬性,方法,封裝,類與物件的概念,new,訪問成員)
        ●從抽象的世界理解:
  面向過程;所有的程式碼都是寫在main函式中的
  面向物件:可以把程式碼寫在main函式之外
       把現實世界抽象到程式程式碼中------------------->
  類:物以類聚人以群分,人類,動物類,植物類。
  比如:某某同學,一看就是人類。標準是什麼?
  不能說(兩個眼睛一個鼻子倆胳膊倆腿)長得像人就是人(猩猩),要符合人類的定義。
  人類:能直立行走,能獨立思考。
       ●類的屬性,方法
  警察找犯罪現場目擊證人描述犯罪嫌疑人。   靜態的特徵(屬性):身高、年齡、體重、男女
  動態的行為(方法):習慣行動作(無間道劉德華)   一個類由兩部分組成:屬性、方法。
  類的特徵:用變數描述
  類的行為:用函式描述   
       ●類與物件的概念
  人類:特徵:height weight
           行為:run  walk   cry  laugh  happy 直立行走、獨立思考、會使用工具   類是模子,確定物件將會擁有的特徵(屬性)和行為(方法)
  類和物件:類是對事件一類事物的描述(模板),物件就是類的具體化,(是類的產品)
  類是建立物件的模版,是一個抽象的概念。是一個看不見摸不著的東西。
  比如說:我叫你拿一個人類過來,你拿過來的往往是人類的例項:張三、李四        ●從語法上理解:
  int a = 10;  //基本資料型別
  Person p = new Person();  //自定義資料型別
  ★類是我們自定義的一種資料型別,而物件則是這種資料型別的變數值。        ●類和物件的關係:類是建立物件的模版,物件是類的一個例項。
  千萬不能把類和物件搞混淆,它們是完全不同的兩種東西:
   類是一個靜態的東西,是一種定義,是一種概念,是一種資料型別。
   在現實生活中有:老師、學生、宿管阿姨、機房、快餐店、藥
            程式碼裡有:Scanner   Connection  Statement    物件是一個例項,是真實存在的,我們可以去溝通交流使用操作
   對應上面的例子有:李老師、小崔、張阿姨、603、牛牛、太極藿香正氣水
            程式碼裡有:scan      conn    stat          ●Java中類和例項的建立
  所有Java程式都以類為組織單元。(Java是純面向物件的程式語言:封裝、繼承、多型)
  用關鍵字class來建立自定義資料型別。   //無意義的類,只從語法上演示了java程式的執行
  public class HelloWorld{
          public static void main(String[] args){
   System.out.println("Hello World");
          }
  }
  
  //為什麼要用面向物件,因為可以使用類將現實世界模擬到計算機程式中。
  ★面向物件是一種思維方式。
  public class  類名 {            類名:英文單詞,有意義的,首字母大寫。
                    //定義屬性部分
                                 屬性1的型別 屬性1;
                                 屬性2的型別 屬性2;
                                 …
                                 屬性n的型別 屬性n;                                  //定義方法部分
                                方法1;
                                方法2;
                                 …
                                方法m;
  }
  屬性也叫成員變數,主要描述類的狀態。
  方法也叫成員方法,主要描述類的行為。
  
        ●見圖片01類、02類的定義、03生成物件         ●見程式碼JavaOOP_01示例   練習:新建一個Person類中新增姓名、性別、年齡。新增一個送外賣的方法(行為),
  並給方法設定一個返回值String。在main方法呼叫並接收返回值列印  三、Java類中的方法(函式) ●見程式碼JavaOOP_01示例Person
  1.無引數無返回
       void 方法名(){}
  2.有引數無返回
       void 方法名(資料型別 引數名){}
   引數名可以隨便命名,但是一定要遵守變數的命名規則
  3.無引數有返回
      返回值資料型別  方法名(){
            return  返回值;
   }
  4.有引數有返回
   返回值資料型別  方法名(資料型別   引數名){
            return  返回值;
   }
  形參:定義方法的時候,會需要傳遞引數。在定義的時候,那個引數叫做形參。
            就形式上的引數,沒有實際的值。只起以形式上的作用。就是告訴你這個地方需要一個引數而已。
  實參:是呼叫方法的時候需要傳遞的引數,有實際意義(有值的變數)  四、封裝和訪問控制權限(public和private)
        ●封裝:將屬性(變數)和行為(函式)封裝到一個類中。   public 、private 只是一個修飾詞,被這兩個詞修飾的屬性或者方法有以下特徵:
  public(公共的東西,其他地方都可以用)
  private(私有的,只有自己可以使用)
  ★通常我們類的屬性都是用private去修飾。但這也不是絕對,是情況而定。
   生成getters/setters方法。
   空白處點選滑鼠右鍵---Source---Generate Getters and Setters--
   --選擇你要生成getters/setters方法的屬性——>ok即可   將屬性設定為私有,並使用set方法去設定屬性的優點:
  保證資料的安全型
  我們還需要給這個類新增一個get方法去獲取這個類中的屬性值   ★通常我們類的行為(方法)都用public去修飾   ★封裝的實現:
  1、修改類的屬性的可見性來限制對屬性的訪問。
  2、為每一個屬性建立一對賦值(setter)方法和取值(getter)方法用於對這些屬性的訪問。
  3、在(setter)(getter)方法中加入對屬性存取的限制。(作用:為了保護欄位)   為啥?舉例:你錢包空了要去銀行賬戶取錢,你不是直接通過
  修改銀行賬戶錢的屬性減少,你是要通過一個視窗職員給你的
  賬戶取值的getter方法,然後減去給你現金數,職員再呼叫setter方法設定你的錢數
  

相關推薦

JAVA基礎物件

1、複習  Java基礎語法規範         Java兩種大的資料型別:基本資料型別、引用資料型別         基本資料型別:八種回顧                       引用資料型別:陣列、字串、類、Scanner、Connection  變數的命名規則:

笨方法學Python—習題40模組物件

Python是一種面向物件biancheng(OPP)語言。即,Python中有一種叫做類(class)的結構,通過它可用一種特殊的方式構造軟體。 模組和字典差不多 字典:一種將一個東西對應到另外一個的方式— 若有一個字典,其有一個叫‘apple’的鍵,想獲取值就需要: m

JAVA基礎第四章-集合框架Collection篇 JAVA基礎第一章-初識java JAVA基礎第二章-java三大特性封裝繼承多型 JAVA基礎第三章-物件抽象介面 記次list迴圈刪除元素的突發事件!

 業內經常說的一句話是不要重複造輪子,但是有時候,只有自己造一個輪子了,才會深刻明白什麼樣的輪子適合山路,什麼樣的輪子適合平地! 我將會持續更新java基礎知識,歡迎關注。   往期章節: JAVA基礎第一章-初識java JAVA基礎第二章-java三大特性

JAVA基礎第三章-物件抽象介面 JAVA基礎第一章-初識java JAVA基礎第二章-java三大特性封裝繼承多型

 業內經常說的一句話是不要重複造輪子,但是有時候,只有自己造一個輪子了,才會深刻明白什麼樣的輪子適合山路,什麼樣的輪子適合平地! 我將會持續更新java基礎知識,歡迎關注。   往期章節: JAVA基礎第一章-初識java JAVA基礎第二章-java三大特

JAVA基礎第五章-集合框架Map篇 JAVA基礎第一章-初識java JAVA基礎第二章-java三大特性封裝繼承多型 JAVA基礎第三章-物件抽象介面 JAVA基礎第四章-集合框架Collection篇

 業內經常說的一句話是不要重複造輪子,但是有時候,只有自己造一個輪子了,才會深刻明白什麼樣的輪子適合山路,什麼樣的輪子適合平地! 我將會持續更新java基礎知識,歡迎關注。   往期章節: JAVA基礎第一章-初識java

Java實現JVM(二)支援介面物件

1. 概述我的 JVM 已經能夠執行HelloWorld了,並且有了基本的 JVM 骨架,包括執行時資料結構的定義(棧、棧幀、運算元棧等),執行時的邏輯控制等。但它還沒有類和物件的概念,比如無法執行下面這更復雜的HelloWorld:public interface SpeakerInterface {

轉載Java基礎】InputStream InputStreamReaderBufferedReader

gen 結果 取字符 sys try eight string font buffer 來源:http://blog.csdn.net/zgljl2012/article/details/47267609 在Java中,上述三個類經常用於處理數據流,下面介紹一下三個類的

JAVA基礎第三章-物件抽象介面

  前言      標題沒有看錯,真的是讓我寫個 bug!      剛接到這個需求時我內心沒有絲毫波瀾,甚至還有點激動。這可是我特長啊;終於可以光明正大的寫 bug 了

面向物件基礎物件繫結方法

一、面向物件程式設計 回顧:面向過程程式設計 是一種之前程式設計師們設計出來的比較好的程式設計方法,也是一種程式設計思想。 核心是過程二字,顧名思義,就是先幹什麼,再幹什麼,完成一個事情具有的所有步驟。 優點:複雜的流程簡單化,程式化,一步一步拆分,降低開發難度。 缺點:擴充套件性差, 不容易維護。 主要使用

《零基礎入門學習Python》(40)物件一些與物件相關的BIF

知識點: 1.issubclass(class,classinfo)#class是classinfo的子類則返回True,相反則返回False 注意: 1.這種檢查是非嚴肅性的檢查,他會把自身當成自身的子類 2.classinfo可以是類物件組成的元組,只要cla

黑馬程式設計師—13—java基礎有關集合的學習筆記心得體會

 ------- <a href="http://www.itheima.com" target="blank">android培訓</a>、<a href="http://www.itheima.com" target="blank">

Python基礎筆記_Day10_Python面向物件物件__init____str__訪問限制setget

Day10_Python面向物件、類和物件、init、str、訪問限制、set、get 10.01_Python語言基礎(面向物件思想)(理解) 10.02_Python語言基礎(類和物件)(掌握) 10.03_Python語言基礎(類的構成)(掌握) 10.04_Python語言基礎(

java基礎常量的概念使用

均可 舉例 默認 null 0.11 錯誤 pan 雙引號 bsp 常量: 在程序執行的過程中,其值不發生改變的量 分類: A:字面值常量 字符串常量 用雙引號括起來的內容。 舉例:"hello","world","HelloWorld" 整數常量

Java基礎String不可變性final修飾

可能 blank 內存區域 什麽 這就是 重寫方法 以及 name ati 轉載請註明出處: jiq?欽‘s technical Blog - 季義欽String的不可變性Java規定String是不可變的(immutable)。事實上這個不可變具備兩層含義:1 內容不

04 java 基礎數據

java 基礎 浮點 占用空間 數組 float 轉型 占用 種類型 數據 java 數據類型:基本類型與引用類型 基本類型:數值型,其中數值型分為整型、浮點型,整型包括 byte、short 、int、long ,默認為 int 類型。浮點類型分為單精度、雙精度,分為 f

java基礎ScannerRandom流程控制語句

隨機數 常用 表達 引用數據類型 padding and 其中 n+1 是否 內容介紹 u 引用數據數據類型(Scanner、Random) u 流程控制語句(if、for、while、dowhile、break、continue) 第1章 引用數據類型 1.1

Java集合ListSetMap的區別,ArrayListLinkedList有何區別..........

一、陣列和集合的區別:   陣列是大小固定的,並且同一個陣列只能存放型別一樣的資料(基本型別/引用型別);   集合可以儲存和操作數目不固定的一組資料。 所有的JAVA集合都位於 java.util包中! JAVA集合只能存放引用型別的的資料,不能存放基本資料型別。   陣列和集合相比唯一的有點就是速度

Java NIOBufferChannel Selector

style clear 準備 創建 compact 必須 ntb sta locking Buffer 一個 Buffer 本質上是內存中的一塊,我們可以將數據寫入這塊內存,之後從這塊內存獲取數據。 java.nio 定義了以下幾個 Buffer 的實現,這個圖讀者應該也在

Java入門系列-14-深入物件

這篇文章用大量的程式碼幫你搞懂:值傳遞和引用傳遞、構造方法、方法過載、static關鍵字的使用 方法引數傳遞-值傳遞和引用傳遞 1.值傳遞 敲一敲: /** * 使用方法交換兩個變數的值 * @author Jack * */ public class Swap {

java基礎複習(抽象介面)

介面中的資料域只能是public static final,方法只能是public abstract 由於這個原因,這些修飾也可以忽略。 資料域只能是static final的原因: stackoverflow上: An interface can’t ha