Java-在BlueJ中创建方法
我对以下练习有问题(我使用的是BlueJ): 他们让我在班级Java-在BlueJ中创建方法,java,bluej,Java,Bluej,我对以下练习有问题(我使用的是BlueJ): 他们让我在班级房间中使用以下方法,而不改变班级圆圈 名称:getPositionsTwoSuns 返回值:下面描述的字符串 字符串说明:从图片中每个太阳的aXPosition和aYPosition坐标返回形式为“x=12,y=7”的字符串 要分开两个太阳的位置,我们可以使用“|”作为例子 这是一份班级宿舍的复印件: public class House { private Square aWall; private Square aW
房间中使用以下方法,而不改变班级圆圈
- 名称:getPositionsTwoSuns
- 返回值:下面描述的字符串
字符串说明:从图片中每个太阳的aXPosition和aYPosition坐标返回形式为“x=12,y=7”的字符串
要分开两个太阳的位置,我们可以使用“|”作为例子
这是一份班级宿舍的复印件:
public class House
{
private Square aWall;
private Square aWindow;
private Triangle aRoof ;
private Circle aSun;
private Circle aSun2;
/**
* Constructor for objects of class House
*/
public House()
{
this.aWall= new Square();
this.aWall.changeSize( 100 );
this.aWindow= new Square();
this.aWindow.changeColour( "black" );
this.aRoof= new Triangle();
this.aRoof.changeSize( 140, 50 );
this.aSun= new Circle();
this.aSun.changeColour( "yellow" );
this.aSun.changeSize( 60 );
this.aSun2= new Circle();
this.aSun2.changeColour( "green" );
this.aSun2.changeSize( 60 );
this.aWall.MakeVisible();
this.aWindow.MakeVisible();
this.aRoof.MakeVisible();
this.aSun.MakeVisible();
this.aSun2.MakeVisible();
} // Picture()
/**
* New function
*/
public String getPositionsTwoSuns()
{
return "x=aSun.aXPosition y=aSun.aYPosition | x=aSun2.aXPosition y=aSun2.aYPosition";
}
/**
* Draw this picture.
*/
public void draw()
{
this.aWall.MakeVisible();
this.aWindow.MakeVisible();
this.aRoof.MakeVisible();
this.aSun.MakeVisible();
this.aSun2.MakeVisible();
} // draw()
} // House
下面是Circle类:
import java.awt.geom.Ellipse2D;
public class Circle
{
private int aDiameter;
private int aXPosition;
private int aYPosition;
private String aColour;
private boolean aIsVisible;
/**
* Makes a new Circle
*/
public Circle()
{
this.aDiameter= 30;
this.aXPosition= 20;
this.aYPosition= 60;
this.aColour= "blue";
this.aIsVisible= false;
} // Circle()
/**
* Makes a new circle with the default values
*/
public Circle( final int pDiameter, final int pXPosition, final int pYPosition, final String pColour )
{
this.aDiameter= pDiameter;
this.aXPosition= pXPosition;
this.aYPosition= pYPosition;
this.aColour= pColour;
this.aIsVisible= false;
} // Circle()
/**
* Make the Circle visible.
*/
public void MakeVisible()
{
this.aIsVisible= true;
this.draw();
} // MakeVisible()
/**
* New function
*/
public int getPosition()
{
return 1000*aXPosition+aYPosition;
}
}
我尝试生成该方法失败,但一旦编译该方法,并在创建名为house1
的新对象后,该方法将返回以下内容:
"x=aSun.aXPosition y=aSun.aYPosition | x=aSun2.aXPosition y=aSun2.aYPosition";
任何帮助都将不胜感激您可以对所有方法和变量使用private,然后通过创建对象来调用该方法。Java中的对象可以创建为Circle run=new Circle()
然后调用所有私有方法,如:
run.Circle();
run.MakeVisible()代码>
对象必须有类名,语法如下:
ClassName ObjectName=new ClassName()代码>
调用该方法的语法是:Objectname.MethodName()代码>
确保对象名称对于方法调用也是正确的。
同一对象可用于调用多个方法。您必须为对象的所有方法调用方法,并且必须将其放置在:
public static void main()
{
//object creation and all your method calls here
}
或者更具体地说,main中的代码如下
为了避免混淆,最好将方法名称从圆圈改为另一个名称,因为类也有相同的名称。好吧,假设您的方法返回“x=aSun.aXPosition y=aSun.aYPosition | x=aSun2.aXPosition y=aSun2.aYPosition”
,这并不令人惊讶。您需要将文字字符串(如“x=“
)与变量值连接起来。Java连接操作符是+
。谢谢你的回答,但我不知道如何连接,你能举个例子解释一下吗?谷歌是你的朋友。以下是我在谷歌搜索“Java中的连接”时得到的信息:。使用谷歌真的很难吗?谢谢。现在唯一的问题是我明白了:aXPosition在Circle中拥有私人访问权限;我知道我必须使用在Circle中创建的getPosition()方法,但我不知道如何使用?aSun.getPosition()
允许对变量aSun
引用的对象调用getPosition()
方法。你没有课本吗?
public static void main()
{
Circle run = new Circle();
run.Circle();
run.MakeVisible();
}