日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java面向对象概述

發布時間:2024/8/26 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java面向对象概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、面向對象和面向過程

? ? ??面向過程:Procedure Oriented??是一種自頂向下的編程

? ? ??面向對象:Object Oriented??是將事物高度抽象化,必須先建立抽象模型(有屬性和行為),之后直接使用模型就行?

例:人把大象裝進冰箱
? ? ? ? ?面向過程:

? ? ? ? ? ? ? ? ?1)打開冰箱

? ? ? ? ? ? ? ? ?2)把大象放進去

? ? ? ? ? ? ? ? ?3 )關閉冰箱門
? ? ? ? ?面向對象:
? ? ? ? ? ? ? ? ? 人{
? ? ? ? ? ? ? ? ? ? ? ? 打開(冰箱){

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?冰箱.開開()

? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ?操作(大象){

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 大象.進入(冰箱)

? ? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? ? ? 關閉(冰箱){

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 冰箱.合上()

? ? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ?大象{
? ? ? ? ? ? ? ? ? ? ?進入(冰箱){? ?}

? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ?冰箱{
? ? ? ? ? ? ? ? ? ? ?開開(){? ?}

? ? ? ? ? ? ? ? ? ? ?合上(){???}

? ? ? ? ? ? ? ? ? ? }

? ? ??面向對象的三大特征:封裝、繼承和多態

二、類的相關知識

? ? ??類是對現實生活中一類具有共同特征的事物的抽象,比如所有的鳥都會飛,由屬性(成員變量或Field)? &行為(成員方法或Method)組成。對象是實際存在的該類事物的每個個體,是類的具體實例化。?

? ? ??成員變量和局部變量??

? ? ? ? ? ???在方法體外,類體內聲明的變量稱為成員變量,分為實例變量(不以static修飾)和類變量(以static修飾),實例變量存在于對象所在的堆內存中,可以有修飾符,如果在聲明的時候,不顯式的賦值,

那么不同數據類型會有不同的默認初始化值;在方法體內部聲明的變量稱為局部變量,分為形參(方法簽名中定義的變量)、方法局部變量(在方法內定義)、代碼塊局部變量(在代碼塊內定義),

局部變量存在于棧內存中,沒有修飾符,與所在的方法修飾符相同,一定要顯式的賦值(局部變量沒有默認初始化值)??

package com.yyx.pratice;public class Person {// 成員變量private String name;private int age;// 成員方法public void eatFood() {//局部變量String foodName = "漢堡";System.out.println("我在吃" + foodName);}public static void main(String[] args) {Person person=new Person();person.eatFood();} }

三、類的內存分析

? ? ??所有的對象名稱都在棧內存中保存,而對象的具體內容則保存在對應的堆內存中,必須使用new關鍵字才能開辟堆內存空間

類屬于引用數據類型,引用數據類型就是指一段堆內存空間可以同時被多個棧內存指向

package com.yyx.pratice;public class TestZoom {public static void main(String[] args) {Animal a1 = new Animal();a1.name = "花花";// 對象.屬性直接賦值a1.setAge(3);// 封裝思想System.out.println(a1.name + " " + a1.getAge());Animal a2=new Animal();System.out.println(a2.name + " " + a2.getAge());Animal a3=new Animal();a3=a1;System.out.println(a3.name + " " + a3.getAge());} }class Animal {String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}} 運行結果:花花 3null 0花花 3

四、類的構造方法

  • ? ? ???構造方法的方法名必須與類名一樣
  • ? ? ? ?構造方法沒有返回類型,也不能定義為void,在方法名前面不聲明方法類型,不能被static、final、synchronized、abstract、native修飾
  • ? ? ??一個類可以定義多個構造方法,如果在定義類時沒有定義構造方法,則編譯系統會自動插入一個無參數的默認構造器,這個構造器不執行任何代碼
  • ? ? ? 構造方法不能由編程人員調用,而由系統調用
  • ? ? ? 構造方法的主要作用是完成對象的初始化工作,它能夠把定義對象時的參數傳給對象的域

? ? ?類對象的屬性賦值的先后順序:

  • 屬性的默認初始化
  • 屬性的顯式初始化
  • 通過構造器給屬性初始化
  • 通過"對象.方法"的方式給屬性賦值
  • package com.yyx.pratice;public class Person {private String name;private int age;/** 無參構造方法,在定義類時沒有定義構造方法,* 則編譯系統會自動插入一個無參數的默認構造器*/public Person() {super();}/** 有參構造方法*/public Person(String name, int age) {super();this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public static void main(String[] args) {Person person1 = new Person();person1.setName("張三");person1.setAge(23);System.out.println(person1.getName() + " " + person1.getAge());Person person2 = new Person("李四", 21);System.out.println(person2.getName() + " " + person2.getAge());}}

    ?

    ? ? ? ? ? ? ? ??

    轉載于:https://www.cnblogs.com/xianya/p/9095392.html

    總結

    以上是生活随笔為你收集整理的Java面向对象概述的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。