程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java技術_Java千百問(0029)_類、對象到底有什麼秘密

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

編輯:JAVA綜合教程

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

   

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved