国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java類的定義以及執行順序學習教程

Java類的定義以及執行順序學習教程

2020-01-06 14:31goldensun JAVA教程

這篇文章主要介紹了Java類的定義以及執行順序學習教程,包括對象的創建等面向對象編程的基礎知識,需要的朋友可以參考下

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
public class Dog{
  String name;
  int age;
  
  void bark(){ // 汪汪叫
    System.out.println("汪汪,不要過來");
  }
 
  void hungry(){ // 饑餓
    System.out.println("主人,我餓了");
  }
}


對示例的說明:

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

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

  • 局部變量:在方法或者語句塊中定義的變量被稱為局部變量。變量聲明和初始化都是在方法中,方法結束后,變量就會自動銷毀。
  • 成員變量:成員變量是定義在類中、方法體之外的變量。這種變量在創建對象的時候實例化(分配內存)。成員變量可以被類中的方法和特定類的語句訪問。
  • 類變量:類變量也聲明在類中,方法體之外,但必須聲明為static類型。static 也是修飾符的一種,將在下節講解。

構造方法

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

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class Dog{
  String name;
  int age;
  
  // 構造方法,沒有返回值
  Dog(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[]){
    // 創建對象時傳遞的參數要與構造方法參數列表對應
    Dog myDog = new Dog("花花", 3);
  }
}

運行結果:

?
1
感謝主人領養了我

說明:

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

創建對象

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

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

例如:

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


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

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


訪問成員變量和方法

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class Dog{
  String name;
  int age;
  
  Dog(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[]){
    Dog myDog = new Dog("花花", 3);
    // 訪問成員變量
    String name = myDog.name;
    int age = myDog.age;
    System.out.println("我是一只小狗,我名字叫" + name + ",我" + age + "歲了");
    // 訪問方法
    myDog.bark();
    myDog.hungry();
  }
}

運行結果:

?
1
2
3
4
感謝主人領養了我
我是一只小狗,我名字叫花花,我3歲了
汪汪,不要過來
主人,我餓了

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

?
1
2
3
4
5
6
7
8
9
10
11
12
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,就要調用 Demo 的構造方法。
  • 就運行到第 5 行,注意:可能很多人覺得接下來就應該運行第 6 行了,錯!初始化一個類,必須先初始化它的屬性。
  • 因此運行到第 2 行,然后是第 3 行。
  • 屬性初始化完過后,才回到構造方法,執行里面的代碼,也就是第 6 行、第 7 行。
  • 然后是第8行,表示 new 一個Demo實例完成。
  • 然后回到 main 方法中執行第 11 行。
  • 然后是第 12 行,main方法執行完畢。

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 2018自拍偷拍 | 久久综合久久久 | 五月激情综合网 | 亚洲国产精品久久久久秋霞蜜臀 | 久久av网站| 亚洲成人综合网站 | 日韩婷婷 | 久久噜噜噜精品国产亚洲综合 | 国产伦精品一区二区三区四区视频_ | 日韩三级| 欧美第一页| 亚洲精品一区二区三区蜜桃久 | 欧美在线观看免费观看视频 | 日日夜夜香蕉 | 国产一级纯肉体一级毛片 | 久久精品亚洲精品国产欧美 | 国产在线观看一区二区三区 | 欧美精品久久久 | 日韩在线视频观看 | 国产精品久久久久无码av | 中文字幕四虎 | 久久精品99 | 亚洲精品久久久久久久久久久久久 | 一区二区三区久久久久 | 成人av在线网站 | 国产精品久久久久一区二区三区 | 欧美视频三区 | 国产在线小视频 | 欧美韩日 | 日韩欧美精品一区二区三区 | 欧美日韩精品免费观看 | 91av在线播放 | 亚洲精品h | 黄色小视频在线观看 | 日韩小视频在线观看 | 日韩精品一区二区三区视频播放 | 激情五月激情综合网 | 日韩欧美一区视频 | 中文字幕一区二区三区四区五区 | 精品成人18 | www.国产一区 |