class Man extends People{
var sex:Boolean;
}
2、从抽象类或者接口继承,也用 extends 关键字,接口中的方法必须重载,用 override 关键字
class Hello extends IHello{
var people: People;
override function Greeting():Void {
println("Hello {people.name} ,You are {people.age} years old.");
}
}
3、JavaFX 可以多重继承,即继承多个类和多个接口
三、对象的创建
JavaFX 一般用字面量方式创建对象,也可以用 new 例如
var p = new People();
或者
var p = People{
name:"小明"
age:18
}
四、对象的初始化
1、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 0 years old.
2、还有一个 postinit 块,在所有初始化工作完成以后执行
3、isInitialized 函数,判断一个成员是否被初始化了,例如
class People {
var name: String;
var age: Integer;
init {
//检查 name 是否被初始化
if (isInitialized(name)){
println("Hello {name}.");
}else {
println("What's your name?");
}
}
}
//创建对象的时候初始化 name
var p = People{
name: "Jone"
}
输出:Hello Jone.
//创建对象的时候没有初始化 name
var p = People{
age: 18
}
输出:What's your name?