javaFx,内部类——《java程序设计语言》

1.首先谈一下javaFx中布局相关,因为学过安卓,所以对于这个javaFx也能理解,主要记忆下面两个图。

 

javaFx,内部类——《java程序设计语言》_第1张图片

 

2.事件驱动编程

javaFx,内部类——《java程序设计语言》_第2张图片

javaFx,内部类——《java程序设计语言》_第3张图片

 

3.内部类

归根到底的问题是作用域问题:Java规范里确实规定了外部类可以访问内部类的private/protected变量,就像访问自己的private/protected变量一样.

类的访问有两种方式类的继承,类的实例化。

成员内部类:

在其他类中对非静态内部类的创建:

OuterClass.InnerClass innerObject - outerObject.new InnerClassO;

对静态内部类的创建:

OuterClass.InnerClass innerObject « new OuterClass.InnerClass();

匿名内部类:

匿名内部类是一种特殊类型的内部类,它被当作一个内部类对待,同时具有以下 特征:

• — 个匿名内部类必须总是从一个父类继承或者实现一个接口,但是它不能有显式的 extends 或者 implements 子句0

• 一个匿名内部类必须实现父类或者接口中的所有抽象方法。

• — 个匿名内部类总是使用它父类的无参构造方法来创建一个实例。如果一个匿名内 部类实现一个接口,构造方法是 Object()。这里的意思是实现接口所调用的构造方法是Object类中的构造方法,第一次看还以为在匿名内部类中再定义一个接口。

• 一个匿名内部类被编译成一个名为 OuterClassNameSn.class 的类。例如,如果外部 类 Test 有两个匿名的内部类,它们将被编译成 Test$l.class 和 Test$2.class。

小总结:在用法感觉是直接new出一个抽象类和接口,大括号要实现所以抽象方法,曾经面试问了一个这样印象深刻的问题,就是再成员方法中使用匿名内部类,然后匿名内部类总引用成员方法的要给变量,这个变量声明为final?这是一个类的作用域问题,匿名内部类当作一个成员内部类,然后成员内部类如何引用外类的方法中变量?当然是将方法中变量声明为final。把他作用域扩大为外类的全局变量。

javaFx简单的过了一遍,里面还有关于动画,多媒体的使用,深入学习还需要看相关材料。

 

你可能感兴趣的:(javaFx,内部类——《java程序设计语言》)