java

位置:IT落伍者 >> java >> 浏览文章

JavaFX 深入浅出(五)类和对象


发布日期:2019年12月29日
 
JavaFX 深入浅出(五)类和对象

类的定义

有了变量和函数把它们和到一块不就成了类吗?

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

//创建对象的时候没有初始化 namevar p = People{age: }输出Whats your name?

和 Java 的用法完全一样

package 关键字

import 关键字

上一篇:共享内存在Java中的实现和应用

下一篇:Java和.NET互操作究竟有什么用?