Java——簡介

Java

相信我們到這裏,都會想問,Java到底是什麼?

在這裏小北作爲菜菜,也很想發問?
所以從小北的角度,帶着疑問進行探索吧。

Java時面向對象的語言

相信很多和和小北一樣,都想問,什麼事面向對象?沒有對象的怎麼面>.<.
小北,帶着這個疑問,來了解
Java中的對象,是一個比較抽象的概念,抽象到什麼程度呢?
一切皆對象
當然不是讓愛情跨越物種和性別的意思哈。
在Java中,把能描述的物體都稱作對象。像小貓小狗啊,可能在現實中我們還不平等,在這裏,都是對象,猛一看沒啥區別<.>。所以,我們就可以理解成,在Java中,對象就是具體的☞某個實際存在的實例。
那我們怎麼來藐視這些實例呢,怎麼描述出我們是人不是貓,不是狗呢。需要用到類,這個概念。類說了什麼事呢,就說你又年齡,有名字,又一切能與別人不一樣的特徵,也描述了你能做什麼事->能做什麼動作。
那麼在這裏,類是什麼?對一類事物的描述
對象是什麼?一類事物的實例
事物有什麼呢:事物都有自己的特性和行爲
特性怎麼表示呢,我們用成員變量來表示
行爲怎麼表示呢,我們用方法來表示你做了什麼

如何創建一個類


public class Person {
    //這裏我們創建一個人的類
    /*
        那我們想一下,人有什麼特徵
        1.名字
        2.年齡
        3.性別
        4.職業
        人會做什麼?
        人和動物的區別所在,就是人能說人話
        方法:shuorenhua(speek)
     */
    //創建以成員變量來表示特徵
    String name;//姓名
    int age;//年齡
    String sex;//性別
    String work;//工作,職業

    //定義一下人說人話的方法
    public static void speek(String name,int age,String sex,String work){
        //輸出一下
        System.out.println("我叫:"+name+",今年"+age+"歲,是個"+sex+work+".");
    }
}

我們創建了Person類,但是我們怎麼實現想要整明我們能說人話,說自己是個人呢。
方法1:

public class Demo {
    public static void main(String[] args) {

        Person p=new Person();
        //System.out.println(p);
        p.name="zhangsan";
        p.age=21;
        p.sex="男";
        p.work="程序員";
        p.speek(p.name,p.age,p.sex,p.work);
    }
}

方法2:

public class Demo {
    public static void main(String[] args) {

        Person p=new Person();
        //System.out.println(p);
        p.speek("zhangsan",21,"男","程序員");
    }
}

輸出:
這裏寫圖片描述

我們發現兩種方式都能輸出相同的結果。
在這裏我們說下,成員變量和成員方法如何使用

(對象名就是我們創建的Person p,p就是Person類創建的對象)
使用成員變量:對象名.成員變量名。
那麼第二種方法中,我們直接調用成員變量,通過傳遞參數的方法,直接給speek方法,傳遞參數,並沒有通過給成員變量賦值的方式去實現。

到這裏我們就接觸到了Java三大特性中的——封裝性

方法就是封裝的一種體現。
private也是一種封裝

關鍵字Private

在這裏可能很多人就有疑問了,怎麼突然又到關鍵字Private了,和private有什麼關係?
那我們剛剛用到的成員變量,是默認的,是任何類都能調用的。我們欸~,突然不想讓別人用了,那我們就在類中員變量最前面加上private。
然後我們突然發現我們自己怎麼也沒法調用成員變量了呢?
這時候,需要我們用到我們的getter和setter方法

在類中應用get和set方法

public class Person {
    //這裏我們創建一個人的類
    /*
        那我們想一下,人有什麼特徵
        1.名字
        2.年齡
        3.性別
        4.職業
        人會做什麼?
        人和動物的區別所在,就是人能說人話
        方法:shuorenhua(speek)
     */
    //創建以成員變量來表示特徵
    private String name;//姓名
    private int age;//年齡
    private String sex;//性別
    private String work;//工作,職業

    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 String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getWork() {
        return work;
    }

    public void setWork(String work) {
        this.work = work;
    }

    //定義一下人說人話的方法
    public static void speek(String name,int age,String sex,String work){
        //輸出一下
        System.out.println("我叫:"+name+",今年"+age+"歲,是個"+sex+work+".");
    }
}

調用也發生相應的改變

public class Demo {
    public static void main(String[] args) {

        Person p=new Person();
        //System.out.println(p);
        p.setName("zhangsan");
        p.setAge(21);
        p.setSex("男");
        p.setWork("程序員");
        p.speek(p.getName(),p.getAge(),p.getSex(),p.getWork());
    }
}

有沒有好奇爲什麼使用private關鍵字?

構造方法

我們在這裏討論下構造方法

構造方法是幹麼的?
是專門用來創建對象的方法
我們可以看下代碼

public class Person {
    //這裏我們創建一個人的類
    /*
        那我們想一下,人有什麼特徵
        1.名字
        2.年齡
        3.性別
        4.職業
        人會做什麼?
        人和動物的區別所在,就是人能說人話
        方法:shuorenhua(speek)
     */
    //創建以成員變量來表示特徵
    private String name;//姓名
    private int age;//年齡
    private String sex;//性別
    private String work;//工作,職業

    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 String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getWork() {
        return work;
    }

    public void setWork(String work) {
        this.work = work;
    }

    public Person(String name, int age, String sex, String work) {
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.work = work;
        System.out.println("我叫:"+name+",今年"+age+"歲,是個"+sex+work+".");
    }
}

我們將speek方法刪除,創建了全參構造方法

public class Demo {
    public static void main(String[] args) {

        Person p=new Person("zhangsan",21,"男","程序員");

    }
}

再觀察我們的Demo類,發現我們創建對象時可以將參數直接寫到對象裏。

這裏寫圖片描述

我們發現結果依然是原來的結果。

注意

1.構造方法的名稱必須和所在類的名稱完b相’y
2.構造方法不用返回值、類型、void也不需要
3.構造方法不能return一個具體的數值
4.如果沒有編寫任何構造方法,默認有一個
5.編寫至少一個構造方法,不會默認再有
6.構造方法也可以重載

總結

一個標準的類通常有四個組成部分
1.所有的變量都要使用private關鍵字修飾
2.爲每一個成員變量編寫一堆get/set
3.編寫一個無參構造方法
4.編寫一個有參構造方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章