最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java類的定義以及執(zhí)行順序?qū)W習教程

 更新時間:2015年09月26日 08:45:29   投稿:goldensun  
這篇文章主要介紹了Java類的定義以及執(zhí)行順序?qū)W習教程,包括對象的創(chuàng)建等面向?qū)ο缶幊痰幕A知識,需要的朋友可以參考下

類必須先定義才能使用。類是創(chuàng)建對象的模板,創(chuàng)建對象也叫類的實例化。

下面通過一個簡單的例子來理解Java中類的定義:

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


對示例的說明:

public 是類的修飾符,表明該類是公共類,可以被其他類訪問。修飾符將在下節(jié)講解。
class 是定義類的關鍵字。
Dog 是類名稱。
name、age 是類的成員變量,也叫屬性;bark()、hungry() 是類中的函數(shù),也叫方法。

一個類可以包含以下類型變量:

  • 局部變量:在方法或者語句塊中定義的變量被稱為局部變量。變量聲明和初始化都是在方法中,方法結束后,變量就會自動銷毀。
  • 成員變量:成員變量是定義在類中、方法體之外的變量。這種變量在創(chuàng)建對象的時候?qū)嵗ǚ峙鋬?nèi)存)。成員變量可以被類中的方法和特定類的語句訪問。
  • 類變量:類變量也聲明在類中,方法體之外,但必須聲明為static類型。static 也是修飾符的一種,將在下節(jié)講解。

構造方法

在類實例化的過程中自動執(zhí)行的方法叫做構造方法,它不需要你手動調(diào)用。構造方法可以在類實例化的過程中做一些初始化的工作。

構造方法的名稱必須與類的名稱相同,并且沒有返回值。

每個類都有構造方法。如果沒有顯式地為類定義構造方法,Java編譯器將會為該類提供一個默認的構造方法。

下面是一個構造方法示例:

public class Dog{
  String name;
  int age;
  
  // 構造方法,沒有返回值
  Dog(String name1, int age1){
    name = name1;
    age = age1;
    System.out.println("感謝主人領養(yǎng)了我");
  }
  
  // 普通方法,必須有返回值
  void bark(){
    System.out.println("汪汪,不要過來");
  }
 
  void hungry(){
    System.out.println("主人,我餓了");
  }
  
  public static void main(String arg[]){
    // 創(chuàng)建對象時傳遞的參數(shù)要與構造方法參數(shù)列表對應
    Dog myDog = new Dog("花花", 3);
  }
}

運行結果:

感謝主人領養(yǎng)了我

說明:

  • 構造方法不能被顯示調(diào)用。
  • 構造方法不能有返回值,因為沒有變量來接收返回值。

創(chuàng)建對象

對象是類的一個實例,創(chuàng)建對象的過程也叫類的實例化。對象是以類為模板來創(chuàng)建的。

在Java中,使用new關鍵字來創(chuàng)建對象,一般有以下三個步驟:
聲明:聲明一個對象,包括對象名稱和對象類型。
實例化:使用關鍵字new來創(chuàng)建一個對象。
初始化:使用new創(chuàng)建對象時,會調(diào)用構造方法初始化對象。

例如:

Dog myDog; // 聲明一個對象
myDog = new Dog("花花", 3); // 實例化


也可以在聲明的同時進行初始化:

Dog myDog = new Dog("花花", 3);


訪問成員變量和方法

通過已創(chuàng)建的對象來訪問成員變量和成員方法,例如:

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

下面的例子演示了如何訪問成員變量和方法:

public class Dog{
  String name;
  int age;
  
  Dog(String name1, int age1){
    name = name1;
    age = age1;
    System.out.println("感謝主人領養(yǎng)了我");
  }
  
  void bark(){
    System.out.println("汪汪,不要過來");
  }
 
  void hungry(){
    System.out.println("主人,我餓了");
  }
  
  public static void main(String arg[]){
    Dog myDog = new Dog("花花", 3);
    // 訪問成員變量
    String name = myDog.name;
    int age = myDog.age;
    System.out.println("我是一只小狗,我名字叫" + name + ",我" + age + "歲了");
    // 訪問方法
    myDog.bark();
    myDog.hungry();
  }
}

運行結果:

感謝主人領養(yǎng)了我
我是一只小狗,我名字叫花花,我3歲了
汪汪,不要過來
主人,我餓了

Java類的基本運行順序
我們以下面的類來說明一個基本的 Java 類的運行順序:

public class Demo{
  private String name;
  private int age;
  public Demo(){
    name = "微學苑";
    age = 3;
  }
  public static void main(String[] args){
    Demo obj = new Demo();
    System.out.println(obj.name + "的年齡是" + obj.age);
  }
}

基本運行順序是:

  • 先運行到第 9 行,這是程序的入口。
  • 然后運行到第 10 行,這里要 new 一個Demo,就要調(diào)用 Demo 的構造方法。
  • 就運行到第 5 行,注意:可能很多人覺得接下來就應該運行第 6 行了,錯!初始化一個類,必須先初始化它的屬性。
  • 因此運行到第 2 行,然后是第 3 行。
  • 屬性初始化完過后,才回到構造方法,執(zhí)行里面的代碼,也就是第 6 行、第 7 行。
  • 然后是第8行,表示 new 一個Demo實例完成。
  • 然后回到 main 方法中執(zhí)行第 11 行。
  • 然后是第 12 行,main方法執(zhí)行完畢。

作為程序員,應該清楚程序的基本運行過程,否則糊里糊涂的,不利于編寫代碼,也不利于技術上的發(fā)展。

相關文章

  • Java實現(xiàn)快速排序算法可視化的示例代碼

    Java實現(xiàn)快速排序算法可視化的示例代碼

    快速排序算法通過多次比較和交換來實現(xiàn)排序,是對冒泡排序算法的一種改進。本文將用Java語言實現(xiàn)快速排序算法并進行可視化,感興趣的可以了解一下
    2022-08-08
  • 一篇文章詳解JAVA遠程debug

    一篇文章詳解JAVA遠程debug

    這篇文章主要給大家介紹了關于JAVA遠程debug的相關資料,日常我們debug是經(jīng)常用的,但是本地還好說,遠程debug就有點難度,需要的朋友可以參考下
    2023-08-08
  • 手工搭建Servlet實現(xiàn)

    手工搭建Servlet實現(xiàn)

    現(xiàn)在作為一個Java程序員,我們已經(jīng)習慣了使用IDE和Web框架進行開發(fā),IDE幫助我們做了編譯、打包的工作。Spring框架則幫助我們實現(xiàn)了Servlet接口,并把Servlet容器注冊到了Web容器中。本文主要介紹了Servlet手工搭建,感興趣的可以了解一下
    2021-07-07
  • 基于Spring Data的AuditorAware審計功能的示例代碼

    基于Spring Data的AuditorAware審計功能的示例代碼

    這篇文章主要介紹了基于Spring Data的AuditorAware審計功能的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • java 輸入3個數(shù)a,b,c,按大小順序輸出的實例講解

    java 輸入3個數(shù)a,b,c,按大小順序輸出的實例講解

    今天小編就為大家分享一篇java 輸入3個數(shù)a,b,c,按大小順序輸出的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 關于SpringBoot大文件RestTemplate下載解決方案

    關于SpringBoot大文件RestTemplate下載解決方案

    這篇文章主要介紹了SpringBoot大文件RestTemplate下載解決方案,最近結合網(wǎng)上案例及自己總結,寫了一個分片下載tuling/fileServer項目,需要的朋友可以參考下
    2021-10-10
  • SpringBoot在啟動類main方法中調(diào)用service層方法報“空指針異常“的解決辦法

    SpringBoot在啟動類main方法中調(diào)用service層方法報“空指針異?!暗慕鉀Q辦法

    這篇文章主要介紹了SpringBoot在啟動類main方法中調(diào)用service層方法報“空指針異常“的解決辦法,大多數(shù)情況下,我們使用Springboot是創(chuàng)建一個maven項目,然后通過controller層的接口調(diào)用,但也有特殊情況,文章介紹的非常詳細,需要的朋友可以參考下
    2024-06-06
  • Josephus環(huán)的四種解法(約瑟夫環(huán))基于java詳解

    Josephus環(huán)的四種解法(約瑟夫環(huán))基于java詳解

    這篇文章主要介紹了Josephus環(huán)的四種解法(約瑟夫環(huán))基于java詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • SpringBoot事務使用及回滾實現(xiàn)代碼詳解

    SpringBoot事務使用及回滾實現(xiàn)代碼詳解

    這篇文章主要介紹了SpringBoot事務使用及回滾實現(xiàn)代碼詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • 使用JDBC連接Mysql 8.0.11出現(xiàn)了各種錯誤的解決

    使用JDBC連接Mysql 8.0.11出現(xiàn)了各種錯誤的解決

    這篇文章主要介紹了使用JDBC連接Mysql 8.0.11出現(xiàn)了各種錯誤的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08

最新評論

邯郸县| 施甸县| 潮安县| 辉南县| 忻城县| 安阳市| 淮滨县| 富阳市| 连山| 丰镇市| 宝坻区| 墨竹工卡县| 卓尼县| 孝感市| 松阳县| 双桥区| 乌拉特后旗| 巢湖市| 富蕴县| 东海县| 盖州市| 靖江市| 南平市| 锦屏县| 阿鲁科尔沁旗| 贡觉县| 玉龙| 大宁县| 青川县| 万山特区| 微博| 界首市| 家居| 深水埗区| 波密县| 贡嘎县| 专栏| 万荣县| 丽江市| 乌兰浩特市| 紫金县|