「java方法调用前加语句」定义一个java类时,如果前面加使用

博主:adminadmin 2023-01-03 06:21:06 1089

本篇文章给大家谈谈java方法调用前加语句,以及定义一个java类时,如果前面加使用对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java--在main方法中添加代码完成要求的功能

public class ex4 {

public static void main(String args[]) {

// No.1 添加语句构造一个CFushu类的对象c1表示复数3+6i,构造一个CFushu类的对象c2表示复数7+6i,

CFushu c1=new CFushu(3,6);

CFushu c2=new CFushu(7,6);

// No.2 添加语句构造CFushu类对象c3复制为c1和c2的和(调用CFushu类中的add方法求c1与c2的和)

CFushu c3=c1.add(c2);

// No.3 添加语句显示输出c3的实部和虚部值,与实际运算的c1与c2和值比较是否吻合

System.out.println("c3的实部="+c3.m_Real+" c3虚部 ="+c3.m_Image );

// No.4 添加语句显示输出c1和c2的实部和虚部,观察其变化,分析原因

System.out.println("c1的实部="+c1.m_Real+" c1虚部 ="+c1.m_Image );

System.out.println("c2的实部="+c2.m_Real+" c2虚部 ="+c2.m_Image );

}

}

class CFushu// 描述复数

{

double m_Real;// 表示复数的实部

double m_Image;// 表示复数的虚部

public CFushu(double real, double image)// 定义构造函数

{

m_Real = real;

m_Image = image;

}

CFushu add(CFushu fushu)// 实现当前复数和参数复数fushu的加法

{

fushu.m_Real += m_Real;// 和值结果保存在fushu对象中

fushu.m_Image += m_Image;

return this;

}

}

结果:

c3的实部=3.0 c3虚部 =6.0

c1的实部=3.0 c1虚 =6.0

c2的实部=10.0 c2虚 =12.0

为什么明明c3是c1和c2的和,应该是10,12,但c3却和c1相等,而c2变成了c1和自身的和,分析:

c3 = c1.add(c2);

关键在这里是c1调用的add(c2);方法,而传进去的是c2的引用。在来看

这个方法的实现

CFushu add(CFushu fushu)// 实现当前复数和参数复数fushu的加法

{

fushu.m_Real += m_Real;// 和值结果保存在fushu对象中

fushu.m_Image += m_Image;

return this;

}

fushu.m_Real += m_Real;//fushu.m_Real 是c2的属性,+= m_Real 是c1的属性

这样就将c1的实部和c2的实部相加,得到的值再付给c2的实部。由于传的是c2的引用,因此通过c2的引用改变了c2实部的值,而c1的实部没有改变,仍是3。就如同注释中说的“和值结果保存在fushu对象中”这个fushu对象就是c2对象。虚部同理。

return时 ,返回的是this, 因为是c1.add()也就是说,这个this是c1对象,而c1对象没有任何变化,因此返回给c3的是c1对象。

所以出现上述情况。

如果将add()改为 c3 = c2.add(c1);

结果为:

c3的实部=3.0 c3虚部 =6.0

c1的实部=10.0 c1虚 =12.0

c2的实部=3.0 c2虚 =6.0

道理同上。

如果楼主想达到的目的是c1,c2本身值不变,c3为他们的和,只需将add()改为

CFushu add(CFushu fushu)// 实现当前复数和参数复数fushu的加法

{

return new CFushu(fushu.m_Real+m_Real,fushu.m_Image+m_Image);

}

这样没有改变传进去的对象值,返回出的新对像的值是c1和c2的和。

累!

java中构造语句前要不要加修饰符

构造方法一般不加,加也是家public

对于普通,按规范来说是要加的

private、public、protected、还有个什么都不加的是友好的

private:只能在本类中调用此方法,

public:任何包中的类都可以调用此方法,不管它与此类在不在一个包

protected:同一包或不同包里的子类可以调用

有好的:同一包中的才可以

java里后面怎么调用前面的方法?

开始

处理1;

do {

处理2;

} while(!判断条件);

处理3;

结束

麻烦看一下,上面这样写是否可以。

我在while的判断条件的前面加了感叹号,是因为在你的逻辑中,原判断条件为false时继续做处理2,原判断条件为true时做处理3。而while的判断只有为true时才可以继续做前面的处理,所以此处加感叹号来满足Java的语法要求。

java什么是方法调用语句?

就是一定义一个方法,在别处被调用.就是调用语句.

例如:

public int add(int a,int b){

return a+b;

}

add(1,2);//这一句就是方法调用语句

java中调用主函数下面方法是否要在前面说明

调用方法:先生成一个对象,用“对象.方法()”的方式调用。

调用说明:java中的main方法是静态的,用于程序的入口,在静态方法中无法调用非静态方法,只能调用静态方法。想调用静态方法的话就要先生成该类的一个对象,通过对象调用非静态方法。

调用举例:

public class A{

public static void main(String[] args){

A a = new A();

a.aaa();

}

public void aaa(){}

}

关于java方法调用前加语句和定义一个java类时,如果前面加使用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。