Java技術_Java千百問(0029)_類、對象到底有什麼秘密

來源:互聯網
上載者:User

Java技術_Java千百問(0029)_類、對象到底有什麼秘密
1、類、對象的概念是什麼

Java是目前應用最為廣泛的物件導向特的語言,它具有以下基本概念:

類對象方法抽象化多態性繼承封裝

我們首先看看類和對象的概念。

類是一個模版。是一個可以定義一類具有相同屬性、行為的模版。
例如:狗是一個類,它具有四肢、尾巴、頭、脊椎等屬性,具有吠叫、吃、繁殖等行為。

對象

對象是一個具體執行個體。根據是一個類的具體執行個體。
例如:我家對門養的一隻狗,具體到了某一隻。

2、Java如何定義類

類的定義如下︰

public class Dog{   String breed;   int age;   String color;   void barking(){   }   void hungry(){   }   void sleeping(){   }}

類有以下關鍵點:

1、類可以包含以下任意類型的變數。
局部變數、執行個體變數、類變數。
2、類可以有任意數量的方法。
在上面的例子中,該類擁有barking(), hungry() 和 sleeping()三個方法。 3、類的建構函式
有關於類的討論,其中最重要的部分之一是建構函式。每個類都有一個建構函式,如果我們不明確地寫一個建構函式的類,Java編譯器產生一個預設的建構函式(無參數的)。
在每次建立一個類的新對象時,至少有一個建構函式被調用,在這裡會按照不同需求初始化一些對象內部的屬性。
建構函式的主要規則是,他們應該具有相同的名稱作為類。一個類可以有多個建構函式(當然每一個的參數都應該不同)。

建構函式的例子如下︰

public class Puppy{   public Puppy(){   }   public Puppy(String name){      // This constructor has one parameter, name.   }}

Java還支援單一實例類,在這裡能夠建立的類只有一個執行個體。

3、java中如何建立對象

如前面提到的,類提供的是模版,所以基本上一個對象是根據一個類建立的。
在Java中,使用關鍵字new建立新的對象。

根據類建立對象有三個步驟:
- 聲明: 變數聲明,一個變數名的物件類型。
- 執行個體化: 使用new關鍵字建立對象。
- 初始化: 關鍵字new後跟調用一個建構函式。初始化新的對象。

建立對象的執行個體:

public class Puppy{   public Puppy(String name){      // This constructor has one parameter, name.      System.out.println("Passed Name is :" + name );   }   public static void main(String []args){      // Following statement would create an object myPuppy      Puppy myPuppy = new Puppy( "tommy" );   }}

將產生以下結果:

Passed Name is :tommy

4、如何訪問對象的執行個體變數和方法

執行個體變數和方法是通過剛才建立的對象來訪問的。
要訪問一個執行個體變數和方法如下:

/* First create an object */ObjectReference = new Constructor();/* Now call a variable as follows */ObjectReference.variableName;/* Now you can call a class method as follows */ObjectReference.MethodName();

例子:

public class Puppy{   int puppyAge;   public Puppy(String name){      // This constructor has one parameter, name.      System.out.println("Passed Name is :" + name );   }   public void setAge( int age ){       puppyAge = age;   }   public int getAge( ){       System.out.println("Puppy's age is :" + puppyAge );       return puppyAge;   }   public static void main(String []args){      /* Object creation */      Puppy myPuppy = new Puppy( "tommy" );      /* Call class method to set puppy's age */      myPuppy.setAge( 2 );      /* Call another class method to get puppy's age */      myPuppy.getAge( );      /* You can access instance variable as follows as well */      System.out.println("Variable Value :" + myPuppy.puppyAge );   }}

將產生以下結果:

Passed Name is :tommy
Puppy’s age is :2
Variable Value :2

  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.