在对象内部使用对象的构造函数
Use constructor of an object inside an object
我正在尝试使用 class Axe(Arma)
的构造函数表示为 Player(Heroi)
中的一个对象,但是简单地执行 Player.Axe.setAtaque()
是行不通的,请帮助我!
package Items;
public class Arma extends Item {
private int ataque;
public int getAtaque() {
return ataque;
}
public void setAtaque (int attack) {
this.ataque = attack;
}
}
Class 英雄:
package Personagens;
import Items.*;
public class Heroi extends Personagem{
Mochila Backpack = new Mochila();
Cinto Belt = new Cinto();
Bracelete Bracelet = new Bracelete();
Arma Axe = new Arma();
}
主要class:
package guiaPOO;
import Personagens.*;
public class main {
public static void main( String [] args) {
Heroi Player = new Heroi();
/* This Doesnt Work */
Player.Axe.setAtaque();
}
}
我在 class Heroi
中作为对象创建的 weapon(Arma)
在尝试在 main 中访问或修改它时甚至没有出现。
抱歉英语不好。
Player.Axe.setAtaque();
您还没有将参数传递给 setAtaque
方法。它应该类似于 Player.Axe.setAtaque(5);
如果您不指定 public
、protected
或 private
,class 的成员将获得所谓的 包访问权限.
因为 Axe
具有包访问权限,所以只能从包含它的包 (Personagens
) 中访问它。
只需在字段声明前加上public
,像这样:
public Mochila Backpack = new Mochila();
public Cinto Belt = new Cinto();
public Bracelete Bracelet = new Bracelete();
public Arma Axe = new Arma();
并且可以通过任何代码访问它们。 (当然,如果您希望它们中的一些不可从任何代码访问,则不要将其添加到这些字段)
我正在尝试使用 class Axe(Arma)
的构造函数表示为 Player(Heroi)
中的一个对象,但是简单地执行 Player.Axe.setAtaque()
是行不通的,请帮助我!
package Items;
public class Arma extends Item {
private int ataque;
public int getAtaque() {
return ataque;
}
public void setAtaque (int attack) {
this.ataque = attack;
}
}
Class 英雄:
package Personagens;
import Items.*;
public class Heroi extends Personagem{
Mochila Backpack = new Mochila();
Cinto Belt = new Cinto();
Bracelete Bracelet = new Bracelete();
Arma Axe = new Arma();
}
主要class:
package guiaPOO;
import Personagens.*;
public class main {
public static void main( String [] args) {
Heroi Player = new Heroi();
/* This Doesnt Work */
Player.Axe.setAtaque();
}
}
我在 class Heroi
中作为对象创建的 weapon(Arma)
在尝试在 main 中访问或修改它时甚至没有出现。
抱歉英语不好。
Player.Axe.setAtaque();
您还没有将参数传递给 setAtaque
方法。它应该类似于 Player.Axe.setAtaque(5);
如果您不指定 public
、protected
或 private
,class 的成员将获得所谓的 包访问权限.
因为 Axe
具有包访问权限,所以只能从包含它的包 (Personagens
) 中访问它。
只需在字段声明前加上public
,像这样:
public Mochila Backpack = new Mochila();
public Cinto Belt = new Cinto();
public Bracelete Bracelet = new Bracelete();
public Arma Axe = new Arma();
并且可以通过任何代码访问它们。 (当然,如果您希望它们中的一些不可从任何代码访问,则不要将其添加到这些字段)