`
suifongqi
  • 浏览: 55889 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JFX学习笔记 六 类

    博客分类:
  • JAVA
阅读更多
终于看到类了,还真是累....
JavaFX 中声明类的语法:在class 关键字后面跟着类名,接着是可选的extends 关键字和由逗号分割的基类名列表,一个开放的大括号({),一个属性列表,函数和操作,一个关闭的大括号(}),在大括号中间的每一个语法逻辑行都使用分号结尾
看来java 也破例在JFX上弄出多继承了...一个儿子多个老爸,什么社会...什么科技啊,果然是超类.除此以外从描述上可以得出类的定义基本与java相同.希望如此吧...
class Person {
attribute name: String;
attribute parent: Person inverse Person.children;
attribute children: Person* inverse Person.parent;
function getFamilyIncome(): Number;
function getNumberOfChildren(): Number;
operation marry(spouse: Person);
}
这是一个JFX类,其中有几点要看看,
1 attribute属性关键字
2 inverse关键字
3 function与operation
attribute 关键字后面跟着属性名,一个冒号,属性类型,可选的重数(cardinality)说明(?代表不确定,*代表零个或者更多,+代表一个或者更多)。有疑问吗?我有,1 那访问控制能不能使用?2 不用attribute而用var声明行不行?我写了如下代码尝试
class A
{
private var name:String;
private attribute names:String*;
}
得到的结果是什么?...大家自己尝试,很有用哦

inverse 用来说明与类中另一属性之间双向关系的反向子句
如果反向子句出现在对象属性定义中,那么当此属性值被修改时JavaFX 解释器将自动更新
其反向属性(根据更新的类型和属性的重数进行插入、删除或者替换)。
这东西给我的感觉就像是数据库里的约束或者主外键

先来看看使用吧:

class X {
public attribute a: Number;
public attribute b: Number;
}

var x = new X();
x.a=1.0;
x.b=2.0;
System.out.println(x.a); // prints 1.0
System.out.println(x.b); // prints 2.0


JavaFX 使用由类名、用大括号包含的属性初始化程序列表构成的说明性语法来完成对象的
初始化。每个初始化程序由属性名、冒号、定义属性值的表达式( JavaFX 也支持在上下文
中进行增量式求值)
var chris = Person {
name: "Chris"
children:[Person {
          name: "Dee"
                 },
          Person {
           name: "Candice"
         }]
};

初始化:
var date1 = new Date(95, 4, 23); // call a java constructor
var date2 = Date { // create the same date as an object literal
month: 4
date: 23
year: 95
};
System.out.println(date1 == date2); // prints true

JavaFX 允许在对象中声明本地变量。这些变量只在对象本身的范围内可见。另外,一个引
用被初始化对象的变量可以通过var 关键字声明为假属性(pseudo-attribute)
var chris = Person {
var: me //这句未能通过netbeans解析,但是指南上确是这样
name: "Chris"
var child1 = Person {
name: "Dee"
parent: me
}
var child2 = Person { name: "Candice" }
children: [child1, child2]
};

几个对JFX类的疑问:访问控制符还起不起作用?其它JAVA中关于修饰类的修饰符还能不能用?这里不在多写了,试试吧

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    俄罗斯方块jfx源代码

    总的来说,“俄罗斯方块jfx”源代码为我们提供了一个学习和研究JavaFX游戏开发的实例,从中我们可以学到JavaFX的图形渲染、事件处理和游戏逻辑设计等多个方面的知识。无论你是Java初学者还是希望提升图形界面编程...

    emed6004jfx工具`

    标题中的"emed6004jfx工具"很可能是指一个特定的软件或应用程序,而`.rar`文件格式表明这是一个压缩包,通常用于存储和传输多个文件。从描述中我们可以看到,这个压缩包的名字是`emed6004jfx.rar`,并且要求字符数...

    java1.8版本,jre,jfx

    值得注意的是,从Java 9开始,JavaFX被移出JDK的核心部分,成为一个独立的模块,但在Java 8中,它还是内置的,这正是"jfx"标签所指的内容。 在压缩包中,"java"文件可能包含了Java 1.8的完整安装程序或者特定组件,...

    JFX例子

    JFX的例子是学习JavaFX的基础,通过这些示例,初学者可以快速了解并掌握JavaFX的基本概念和技术。 在提供的文件列表中,我们可以看到两个部分的教程:“JavaFX发现之旅:JavaFX Script With Eclipse 入门”。这部分...

    欧码简音5JFX输入法

    简音输入法是专为希望学好中文发音,又希望超快 地输入汉字的人设计的,单字平均出字仅1.26码,远比 同类音码快;输入编码后视屏可同显简体和繁体,极有 利于学记各简体繁体字的对应模样,同屏对比了解简体 ...

    nj4x-mt4开发中间件jfx 2.7.7版本

    MT4客户端不支持二次开发,但是服务器接口对外开发,jfx封装了Java接口,使得Java开发程序员可以轻易上手

    JFX3DModelImporters_EA_2014-02-09_jfx3d_JFX3DModelImporters_ea_源

    这个压缩包"JFX3DModelImporters_EA_2014-02-09_jfx3d_JFX3DModelImporters_ea_源"包含了一系列的jar包,它们专门设计用于帮助开发者将不同格式的3D模型导入到JavaFX应用中。这些导入器的早期访问版本(EA)发布于...

    jfx1.2.6示例 实现了java连接MT4

    一个简单的实现了java连接MT4服务的例子

    GameOfLife-JFX:初始项目

    总结,"GameOfLife-JFX:初始项目"是一个很好的学习和实践JavaFX以及理解生命游戏原理的平台。通过这个项目,开发者不仅可以提升JavaFX编程技巧,还能深入理解细胞自动机和复杂系统行为的模拟。

    NativeJFX:一个使用maven jfx插件和其他工具生成本机可执行文件和安装程序的演示应用程序

    本机JFX 一个使用maven jfx插件和其他工具生成本机可执行文件和安装程序的演示应用程序 构建本机捆绑包(Windows) 安装 5.5.6+ 安装 3.1.0+ 将两个程序都添加到PATH 运行mvn package 注意:制作启动器并与JRE...

    Mimaki JFX plus Series UJF-3042 透明液体打印指南

    #### 六、总结 Mimaki JFX plus Series UJF-3042透明液体打印指南详细介绍了如何使用该设备及配套软件RasterLinkPro5来实现高质量的透明液体打印效果。通过遵循文档中的指导步骤,用户可以轻松掌握这项技术,从而在...

    jfx-launcher:openjfx启动器工具

    JFX-Launcher 一个openJfx的自动更新器,采用模块化API加载模块。 原理 在Launcher启动的时候,会对比本地配置与服务端配置是否一致,如果服务端配置与本地不一致,则进行拉取同步。 对比条件: 版本号是否一致 各个...

    jfx_game_project:game_prject_table_Type

    【标题】"jfx_game_project:game_prject_table_Type"是一个基于JavaFX开发的游戏项目,其核心特性在于利用表格(Table)元素来呈现游戏数据或交互。JavaFX是Oracle公司提供的一个用于创建桌面应用程序的开源Java库,...

    JFX-Wrapper:JavaFX控件类包装器,用于Clojure

    JFX-Wrapper通过提供更符合Clojure风格的函数和方法,提高了开发效率,减少了学习曲线。 3. **依赖项**:项目依赖于Google Guava 17.0,这是一个广泛使用的Java库,提供了许多实用工具类和集合框架,增强了Java的...

    FreshInvoice_jfx82w_FreshInvoice_

    标题中的"FreshInvoice_jfx82w_FreshInvoice_"似乎是指一个特定的版本或构建号,这通常是软件更新或发布时使用的标识符。FreshInvoice是一个知名的开源PHP发票管理软件,它允许用户创建、管理和发送专业发票。这个...

    MessagingApp-JFX:具有多选项卡用户界面的聊天应用程序

    MessagingApp-JFX 具有多选项卡UI(使用JavaFX构建)的聊天应用程序。 通过TCP / IP进行通信的服务器-客户端模型。 为JVM和Arduino微控制器编写的服务器/后端代码库(测试平台为ESP32s开发板)。 文件传输功能。

    java8看不到源码-JME3-JFX:用于JME的JFXGui桥接器,具有用于常见用例的有用实用程序

    笔记 对于 jme 3.1: 版本:2.+ 分支:主 对于 jme 3.0(与 jme-3.0.10 兼容): 版本:1.+ 分支:jme_3.0 JME3-JFX 需要 java 8,但是可以使用 java 7 在纹理上绘制视频。对于 jME SDK,您应该创建一个 java 8 平台...

    JFX的简单回顾以及了解

    在JavaFX中,`Application` 类是所有程序的起点。开发者需要继承这个类,并重写`start()`方法。在主函数中调用`launch()`启动应用程序。`launch()`方法会依次执行`init()`、`start()`和`stop()`方法。`start()`方法...

    j8draw:JDK8中的JFX 2D和3D绘图

    JDK8中的JFX 2D和3D工程图。 由于它使用的是JFX,因此需要确保您使用的是Oracle的JDK 1.8或更高版本。 如果在Eclipse中运行,由于即使在使用Oracle JDK时默认情况下也无法访问JFX,因此您将需要执行以下步骤,...

    demux-jfx-core-0.8.2.zip

    标题中的"demux-jfx-core-0.8.2.zip"是一个开源项目的版本压缩包,主要涉及的是JavaFX相关的库或框架。JavaFX是Oracle公司提供的一个用于开发桌面、移动和嵌入式设备的富客户端应用程序的平台。它提供了一组图形和...

Global site tag (gtag.js) - Google Analytics