6躺同,學(xué)習(xí)類和對象

對象的屬性和方法:


image.png

image.png

類是模子唤崭,定義對象將會擁有的特征(屬性)和行為(方法)
類是對象的類型颗味,不同于int類型:具有方法


image.png
  • 類的定義方法:
public class  類名 {
        //定義屬性部分
        屬性1的類型 屬性1;
        屬性2的類型 屬性2;
      …
        屬性n的類型 屬性n;
        //定義方法部分
        方法1;
        方法2;
        …
        方法m;
}

使用對象的步驟

  • 創(chuàng)建對象

類名 對象名 = new 類名();

School center = new School();
  • 引用類的屬性:對象名.屬性
  • 引用類的方法:對象名.方法名()
center.name = "北京中心";    //給name屬性賦值
center.showCenter();         //調(diào)用showCenter()方法

一個景區(qū)根據(jù)游人的年齡收取不同價格的門票。請編寫游人類书蚪,根據(jù)年齡段(10歲到60歲之間20元喇澡,否則免費)決定能夠購買的門票價格并輸出

package com.company;

/**
 * Created by ttc on 17-12-25.
 */
public class JourneyPerson {
    String name;
    int age;

    public void showInfo()
    {
        String ticketInfo = "";
        if(age < 10 || age > 60)
        {
            ticketInfo = "門票免費";
        }
        else
        {
            ticketInfo = "門票價格為:20元";
        }

        System.out.println(name + "的年齡為:"+ age + ticketInfo);
    }
}
package com.company;


import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
    // write your code here
        JourneyPerson journeyPerson = new JourneyPerson();

        while (true)
        {
            Scanner scanner = new Scanner(System.in);
            System.out.println("請輸入姓名屯蹦,輸入n退出程序");
            //創(chuàng)建一個游人類

            //將用戶輸入的姓名蹦骑,賦值給游人對象journeyPerson的名字屬性
            journeyPerson.name = scanner.next();
            if(journeyPerson.name.equals("n"))//代表用戶想退出程序
            {
                // 退出程序
                break;
            }

            //將用戶輸入的年齡,賦值給游人對象journeyPerson的年齡屬性
            System.out.println("請輸入年齡");
            journeyPerson.age = scanner.nextInt();

            //輸出該游人門票信息和個人信息showInfo
            journeyPerson.showInfo();
        }

        System.out.println("退出程序");

    }
}

定義類的方法

  • 如果方法具有返回值谨娜,方法體中必須使用關(guān)鍵字return返回該值为流,返回值類型為該返回值的類型
    return 表達式呕屎;
    作用: 跳出方法、返回結(jié)果
public class Student{
    String name = "張三";
    public String  getName(){
            return name;
    }
   //……
}
  • 如果方法沒有返回值艺谆,返回值類型為void


    image.png

方法調(diào)用

對象名.方法名();

方法之間允許相互調(diào)用榨惰,不需要知道方法的具體實現(xiàn),實現(xiàn)重用静汤,提高效率


image.png

常見錯誤

public class Student2 {
    public double getInfo() {
        double weight = 95.5;
        double height = 1.69;
        return weight, height;
        }
}

方法不能返回多個值琅催!

public class Student3 {
    public String showInfo() {
    
        public double getInfo() {
                double weight = 95.5;
                double height = 1.69;
                return weight;
            }
                return "我是一名學(xué)生";
        }
}

多個方法不能相互嵌套定義!

public class Student4 {
    int age = 20;
    if(age < 20) {
        System.out.println("年齡不符合入學(xué)要求虫给!");  
    }
    public void showInfo() {
        return "我是一名學(xué)生";
    }
}

不能在方法外部直接寫程序邏輯代碼藤抡!

練習(xí):計算骰子每面出現(xiàn)的次數(shù)

package com.company;

import java.util.Random;

/**
 * Created by Think on 2018/6/3.
 */
public class DiceDemo {

    int[] dice = new int[6];
    Random random = new Random();

    public void initial(){
        for (int i = 0; i < 6; i++)
        {
            dice[i] = i + 1;
        }
    }

    public int throwDice(){
        int index = random.nextInt(6);
        return dice[index];
    }
}
package com.company;

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

/**
 * Created by Think on 2018/6/2.
 */
public class Test {
    public static void main(String[] args) {

        int[] count = new int[7];

        DiceDemo diceDemo = new DiceDemo();
        diceDemo.initial();
        for (int i = 0; i < 6000; i++)
        {
            int x = diceDemo.throwDice();
            count[x]++;
        }
        for (int i = 1; i < count.length; i++)
        {
            System.out.println("數(shù)字"+ i + "出現(xiàn)了" + count[i] + "次");
        }
    }
}
運行結(jié)果:
數(shù)字1出現(xiàn)了1014次
數(shù)字2出現(xiàn)了955次
數(shù)字3出現(xiàn)了992次
數(shù)字4出現(xiàn)了965次
數(shù)字5出現(xiàn)了1065次
數(shù)字6出現(xiàn)了1009次

成員變量和局部變量

image.png

作用域不同
局部變量的作用域僅限于定義它的方法
成員變量的作用域在整個類內(nèi)部都是可見的
初始值不同
Java會給成員變量一個初始值
Java不會給局部變量賦予初始值

在同一個方法中,不允許有同名局部變量抹估;在不同的方法中缠黍,可以有同名局部變量
在同一個類中,成員變量和局部變量同名時药蜻,局部變量具有更高的優(yōu)先級

public class Test {
     int score1 = 88;
     int score2 = 98;
      public void calcAvg() {
          int avg = (score1 + score2)/2;
      }    
      public void showAvg(){
         System.out.println("平均分是: " + avg);
     }
}

局部變量avg的作用域僅限于calcAvg()方法


作者:豆約翰
鏈接:http://www.reibang.com/p/3bacbcb9bdec
來源:簡書
著作權(quán)歸作者所有瓷式。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處语泽。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贸典,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子踱卵,更是在濱河造成了極大的恐慌廊驼,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惋砂,死亡現(xiàn)場離奇詭異妒挎,居然都是意外死亡,警方通過查閱死者的電腦和手機西饵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門酝掩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人眷柔,你說我怎么就攤上這事庸队』撸” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵彻消,是天一觀的道長竿拆。 經(jīng)常有香客問我,道長宾尚,這世上最難降的妖魔是什么丙笋? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮煌贴,結(jié)果婚禮上御板,老公的妹妹穿的比我還像新娘。我一直安慰自己牛郑,他們只是感情好怠肋,可當(dāng)我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著淹朋,像睡著了一般笙各。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上础芍,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天杈抢,我揣著相機與錄音,去河邊找鬼仑性。 笑死惶楼,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的诊杆。 我是一名探鬼主播歼捐,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼晨汹!你這毒婦竟也來了豹储?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤宰缤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后晃洒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體慨灭,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年球及,在試婚紗的時候發(fā)現(xiàn)自己被綠了氧骤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡吃引,死狀恐怖筹陵,靈堂內(nèi)的尸體忽然破棺而出刽锤,到底是詐尸還是另有隱情,我是刑警寧澤朦佩,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布并思,位于F島的核電站,受9級特大地震影響语稠,放射性物質(zhì)發(fā)生泄漏宋彼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一仙畦、第九天 我趴在偏房一處隱蔽的房頂上張望输涕。 院中可真熱鬧,春花似錦慨畸、人聲如沸莱坎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽檐什。三九已至,卻和暖如春碉京,著一層夾襖步出監(jiān)牢的瞬間厢汹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工谐宙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留烫葬,地道東北人。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓凡蜻,卻偏偏與公主長得像搭综,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子划栓,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容