我是否混淆了 Java 和 JavaScript (ECMA-262)?
Am I getting Java and JavaScript (ECMA-262) mixed up?
我是 Java 和 JavaScript 的新手。在学习一些 Java 教程时,我谈到了关于铸造的部分:
public void paint (Graphics g) {
Graphics2D g2 = (Graphics2D) g;
...
}
是组件方法 paint
将 Graphics
对象 g
投射到 Object
class {}
上还是我有这个想法与 Java函数是对象的脚本混淆?
function Graphics() {this.type = 'graphics object'};
var g = new Graphics();
g.type;
//"graphics object"
Graphics.prototype.g2d = 'g2d object';
g.type;
//"graphics object"
g.g2d;
//"g2d object"
调用paint(g)
时,是在{}
上添加Graphics
属性,然后在Graphics
上添加Graphics2D
属性吗?
编辑:来自 Java Tutorials
To employ Java 2D API features in the application, cast the Graphics object passed into a component’s rendering method to a Graphics2D object.
什么时候说将 Graphics
转换为 Graphics2D
是 g
通过添加额外属性进行更改,然后将其称为 g2
?
我不确定你指的是什么 JavaScript 但第一个代码段是将 Graphics
对象转换为 Graphics2D
对象。
对象没有改变。 Java,不像 Java脚本是强类型的。所以 g 一直是一个 Graphics2D
对象。转换只是让编译器知道它是一个。
此外,您不能向 Java 中的函数添加属性。
我是 Java 和 JavaScript 的新手。在学习一些 Java 教程时,我谈到了关于铸造的部分:
public void paint (Graphics g) {
Graphics2D g2 = (Graphics2D) g;
...
}
是组件方法 paint
将 Graphics
对象 g
投射到 Object
class {}
上还是我有这个想法与 Java函数是对象的脚本混淆?
function Graphics() {this.type = 'graphics object'};
var g = new Graphics();
g.type;
//"graphics object"
Graphics.prototype.g2d = 'g2d object';
g.type;
//"graphics object"
g.g2d;
//"g2d object"
调用paint(g)
时,是在{}
上添加Graphics
属性,然后在Graphics
上添加Graphics2D
属性吗?
编辑:来自 Java Tutorials
To employ Java 2D API features in the application, cast the Graphics object passed into a component’s rendering method to a Graphics2D object.
什么时候说将 Graphics
转换为 Graphics2D
是 g
通过添加额外属性进行更改,然后将其称为 g2
?
我不确定你指的是什么 JavaScript 但第一个代码段是将 Graphics
对象转换为 Graphics2D
对象。
对象没有改变。 Java,不像 Java脚本是强类型的。所以 g 一直是一个 Graphics2D
对象。转换只是让编译器知道它是一个。
此外,您不能向 Java 中的函数添加属性。