/ / Czy mam pomieszane Java i JavaScript (ECMA-262)? - java, javascript, metody, casting, graphics2d

Czy mam pomieszane Java i JavaScript (ECMA-262)? - java, javascript, metody, casting, graphics2d

Jestem nowy w Javie i JavaScript. Podczas pracy z niektórymi samouczkami w Javie dotarłem do części o castowaniu:

public void paint (Graphics g) {
Graphics2D g2 = (Graphics2D) g;
...
}

Czy metoda składnika paint casting a Graphics obiekt g na Object klasa {} czy też mam ten pomysł pomieszany z JavaScript, gdzie funkcja jest Obiektem?

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"

Gdy paint(g) nazywa się, czy to jest dodawanie Graphics atrybuty do {} a następnie dodanie Graphics2D atrybuty do Graphics?

EDYCJA: Od Poradniki Java

Aby zastosować funkcje Java 2D API w aplikacji, rzuć obiekt Graphics przekazany do metody renderowania komponentu do obiektu Graphics2D.

Kiedy mówi się rzucać Graphics do Graphics2D jest g zmieniając się poprzez dodanie dodatkowych atrybutów, a następnie odnosząc się do niego jako g2?

Odpowiedzi:

0 dla odpowiedzi № 1

Nie jestem pewien, co masz na myśli, ale pierwszy segment kodu rzuca a Graphics obiekt do a Graphics2D obiekt.

Obiekt się nie zmienia. Java, w przeciwieństwie do JavaScript, jest silnie wpisana. Więc g było Graphics2D obiekt przez cały czas. Przesyłanie powoduje, że kompilator wie, że jest to jeden.

Ponadto nie można dodawać atrybutów do funkcji w Javie.