熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

JavaFX 深入淺出(五)類和對象

2022-06-13   來源: JSP教程 

  類的定義

  有了變量和函數把它們和到一塊不就成了類嗎?

   class People {    
    var name: String;   
    var age: Integer;   
}
class Hello {   
    var people: People; 
    function Greeting() {       
        println(Hello {peoplename} You are {peopleage} years old);   
    }   
}

  抽象類和接口

  抽象類用 abstract 關鍵字修飾

   abstract class People {    
    var name: String;   
    var age: Integer;   
}

  和其他面向對象的語言一樣抽象類是不能創建實例的

  JavaFX 中沒有接口 但是可以直接使用 Java 中的接口

   interface IHello{
    void Greeting();
}

  類的繼承

  用 extends 關鍵字從另外一個類繼承

   class Man extends People{
    var sex:Boolean;

}

  從抽象類或者接口繼承也用 extends 關鍵字接口中的方法必須重載用 override 關鍵字

   class Hello  extends IHello{
    var people: People;
    override function Greeting():Void {
        println(Hello {peoplename} You are {peopleage} years old);
    }
}

  JavaFX 可以多重繼承即繼承多個類和多個接口

  對象的創建

  JavaFX 一般用字面量方式創建對象也可以用 new

   var p = new People(); 

  或者

  var p = People{

  name:小明

  age:

  }

  對象的初始化

  JavaFX 的類沒有構造函數但是有一個 init 初始化塊當對象創建以後會運行這個塊裡的代碼例如

  

  class People {     init {         name=Jone;         println(Hello {name} You are {age} years old);     }     var name: String;     var age: Integer; }


  var p = new People();

  輸出Hello Jone You are years old

  還有一個 postinit 塊在所有初始化工作完成以後執行

  isInitialized 函數判斷一個成員是否被初始化了例如

  

  class People {     var name: String;     var age: Integer;     init {
    //檢查 name 是否被初始化


  

  if (isInitialized(name)){             println(Hello {name});         }else {             println(Whats your name?);         }     } }

  //創建對象的時候初始化 name

var p = People{ name: Jone }

  

  輸出Hello Jone

  //創建對象的時候沒有初始化 name var p = People{     age: } 輸出Whats your name? 

  

  和 Java 的用法完全一樣

  package 關鍵字

  import 關鍵字


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19188.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.