1. 程式人生 > >java學習筆記7(面向對象)

java學習筆記7(面向對象)

spa 作用範圍 賦值 表示 div 封裝 ont col pre

一、

面向過程的思想: 遇到問題,想,我該怎麽解決這個問題,然後一步一步解決

面向對象的思想:遇到一件事,思考,我該讓誰去做,至於他怎麽做,不需要我考慮,只要最後做好

實例:我們要組裝一臺電腦

    面向過程:上網上查詢各種硬件參數性價比去商城觀察問價,找到最適合的,買回來各種硬件自己組裝。

    面向對象:找一個組裝電腦的專家,告訴他我需要一臺電腦,組裝之後給我

二、

  面向對象的好處:

    更符合人們的思考習慣

    面向對象更像是一個指揮者,面向過程像一個執行者

    面向對象的思維方式可以將復雜的問題簡單化

    世界萬物皆是對象

三、

  類和對象的關系:

    類:對某一類事物的抽象描述

    對象:用於表示現實中該事物的個體

    類用於描述多個對象的共同特征,相當於一個模板

    對象是通過類創建出來的,一個類可以對應多個對象  

四 、

  成員變量和局部變量的區別

    作用域

      成員變量:作用範圍是整個類

      局部變量:作用於一個方法內,或語句內  

    作用上的區別

      成員變量:隨著對象的創建而存在,隨著對象的消失而消失

      局部變量:在調用了對應的方法時執行到了創建該變量的語句時存在,局部變量一旦出自 己的作用域那麽馬上從內存中消失

    初始值

      成員變量是有默認的初始值

      局部變量沒有默認值 必須先初始化才能使用

五、

  面向對象的三大特征

    封裝

    繼承

    多態   

   封裝的表現: 方法就是一個封裝體,類也是一個封裝

   封裝的特點:

      提高了代碼的復用性

      隱藏了實現細節,還要對外提供可以訪問的方式,便於調用者的使用

      提高了安全性

六、

private關鍵字

   建一個人的類:

public class Person {
    String name;
    int  age;
    //定義一個跑的方法
    public
void run(){ System.out.println(age+"歲的"+name+"在跑"); } }
public class Test {
    public static void main(String[] args) {
        Person  p=new Person();
        p.name="小明";
        p.age=1000;
        p.run();
    }
}

技術分享圖片

這個結果中,1000歲的小明在跑,這個年齡肯定不符合,為了解決這個問題,我們就想,如果不能修改age變量,這個問題就可以解決,於是有了private關鍵字,

被private修飾的成員只能在自己的類中使用

可以對私有的成員,提供公共的訪問方式,方法

public class Person {
    // 人的姓名年齡,成員變量
    String name;
    private int age;

    // 定義方法,對age賦值
    public void setAge(int a) {
        if (a < 0 || a > 100) {
            age = 20;
        } else {
            age = a;
        }
    }
    
    //定義方法,獲取age
    public int getAge(){
        return age;
    }
    
    // 說話功能
    public void speak() {
        System.out.println(age + "歲的" + name + "在說話");
    }

}
public class PersonTest {

    public static void main(String[] args) {
        Person p = new Person();
        p.setAge(80);
        System.out.println(p.getAge());
        p.name = "張三";
        p.speak();
    }

}

java學習筆記7(面向對象)