java類 對象 和構造方法

github地址:https://github.com/lily1010/java_learn/tree/master/dog

java中對象和類

java中萬物皆對象,好比說動物,裏面有貓,狗,魚等等,他們都能跑,都能呼吸,總之他們有一些動物的共同特徵,java中能夠把他們歸爲一類。這就是java中的類;而貓,狗等,就是這個類中的一個具體的對象。
貓,狗又有一些動做行爲,就是方法.
當你想調用那些動做行爲的時候,不能直接在類中調用,由於不一樣的動物的行爲不同,你就必須new一個對象,來調用.java

 

java中類

先來看個例子git

public class Dog{
    String name;
    int age;
   
    void bark(){  // 汪汪叫
        System.out.println("汪汪,不要過來");
    }
 
    void hungry(){  // 飢餓
        System.out.println("主人,我餓了");
    }
}

對上面例子說明:github

public 是類的修飾符,代表該類是公共類,能夠被其餘類訪問。
class 是定義類的關鍵字。
Dog 是類名稱。
name、age 是類的成員變量,也叫屬性;bark()、hungry() 是類中的函數,也叫方法。函數

 

java變量類型

一個類能夠包含如下類型變量:spa

局部變量:在方法或者語句塊中定義的變量被稱爲局部變量。變量聲明和初始化都是在方法中,方法結束後,變量就會自動銷燬。
成員變量:成員變量是定義在類中、方法體以外的變量。這種變量在建立對象的時候實例化(分配內存)。成員變量能夠被類中的方法和特定類的語句訪問。
類變量:類變量也聲明在類中,方法體以外,但必須聲明爲static類型。static 也是修飾符的一種。code

 

構造方法

注意事項:對象

在類實例化的過程當中自動執行的方法叫作構造方法,它不須要你手動調用。構造方法能夠在類實例化的過程當中作一些初始化的工做。
構造方法的名稱必須與類的名稱相同,而且沒有返回值。
每一個類都有構造方法。若是沒有顯式地爲類定義構造方法,Java編譯器將會爲該類提供一個默認的構造方法。blog

舉個栗子:內存

package com.lechebang.www;

/**
 * Created by manlili on 2016/9/21.
 */
public class Dog{ 
    String name;
    int age;

    public Dog () {   //構造方法
        System.out.println("我是構造方法");
    }
    void bark(){  // 汪汪叫
        System.out.println("汪汪,不要過來");
    }

    void hungry(){  // 飢餓
        System.out.println("主人,我餓了");
    }
}

 

Java中對象

對象是根據類建立的。在Java中,使用關鍵字new來建立一個新的對象。建立對象須要如下三步:
①聲明:聲明一個對象,包括對象名稱和對象類型。
②實例化:使用關鍵字new來建立一個對象。
③初始化:使用new建立對象時,會調用構造方法初始化對象。編譯器

舉個栗子:

public class Dog{
    String name;
    int age;

    public Dog () {   //構造方法
        System.out.println("我是構造方法");
    }
    void bark(){  // 汪汪叫
        System.out.println("汪汪,不要過來");
    }

    void hungry(){  // 飢餓
        System.out.println("主人,我餓了");
    }

    public static void main(String[] args) {
        Dog myDog = new Dog();
    }
}

執行結果是

 

訪問實例變量和方法

// 實例化
Dog myDog = new Dog("花花", 3);
// 經過點號訪問成員變量
myDog.name;
// 經過點號訪問成員方法
myDog.bark();

舉個例子:

public class Dog2{
    String name;
    int age;

    // 構造方法,沒有返回值
    Dog2(String name1, int age1){
        name = name1;
        age = age1;
        System.out.println("感謝主人領養了我");
    }

    // 普通方法,必須有返回值
    void bark(){
        System.out.println("汪汪,不要過來");
    }

    void hungry(){
        System.out.println("主人,我餓了");
    }

    public static void main(String arg[]){
        // 建立對象時傳遞的參數要與構造方法參數列表對應
        Dog2 myDog = new Dog2("花花", 3);
        String name = myDog.name;
        int age = myDog.age;
        System.out.println("狗狗的名字是"+name+";狗狗年齡是"+age);

        myDog.bark();
        myDog.hungry();
    }
}

運行結果:

相關文章
相關標籤/搜索