「java函数返回对象」java 返回函数
今天给各位分享java函数返回对象的知识,其中也会对java 返回函数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
在java方法中怎么返回对象
方法中返回this,就表示返回当前对象。
举例:
public class A{
public A getA(){
return this;//返回当前对象。
}
}
JAVA中,返回一个对象,怎么理解啊
我的理解是:c中的函数返回一个值,而java中,理解了OO思想以后就知道方法中返回的不一定都是值,还可以是一个new出来的对象。
java调用so方法如何返回对象
虽然Java 严格按照值传递,但是精确的效果在传递基本类型还是引用类型之间是不同的。
当我们将一个原始类型传递给一个方法时,它将按值传递。但是当我们将一个对象传递给一个方法时,情况会发生巨大的变化,因为对象是通过有效调用的方式传递的。Java做这个有趣的事情,这是一种混合传递值和传递引用。基本上,函数不能更改参数,但函数可以通过调用其中的某些方法来让参数自行更改。
在创建类类型的变量时,我们只创建一个对象的引用。因此,当我们将此引用传递给方法时,接收它的参数将引用与参数引用的对象相同的对象。
这实际上意味着对象的行为就好像通过使用引用调用来传递给方法一样。
方法内部对象的改变确实反映在用作参数的对象中。
在Java中,我们可以将对象传递给方法。例如,请考虑以下程序:
// Java program to demonstrate objects
// passing to methods.
class ObjectPassDemo
{
int a, b;
ObjectPassDemo(int i, int j)
{
a = i;
b = j;
}
// return true if o is equal to the invoking
// object notice an object is passed as an
// argument to method
boolean equalTo(ObjectPassDemo o)
{
return (o.a == a o.b == b);
}
}
// Driver class
public class Test
{
public static void main(String args[])
{
ObjectPassDemo ob1 = new ObjectPassDemo(100, 22);
ObjectPassDemo ob2 = new ObjectPassDemo(100, 22);
ObjectPassDemo ob3 = new ObjectPassDemo(-1, -1);
System.out.println("ob1 == ob2: " + ob1.equalTo(ob2));
System.out.println("ob1 == ob3: " + ob1.equalTo(ob3));
}
}
输出:
ob1 == ob2:true
ob1 == ob3:false
创建了三个对象'ob1','ob2'和'ob3':
ObjectPassDemo ob1 = new ObjectPassDemo(100,22);
ObjectPassDemo ob2 = new ObjectPassDemo(100,22);
ObjectPassDemo ob3 = new ObjectPassDemo(-1,-1);
在方法方面,声明了一个名为a的Foo类型的引用,并且它的初始值为null。
boolean equalTo(ObjectPassDemo o);
当我们调用方法equalTo时,引用'o'将被分配给作为参数传递的对象,即'o'将引用'ob2'作为以下语句执行。
System.out.println(“ob1 == ob2:”+ ob1.equalTo(ob2));
现在我们可以看到,'ob1'上调用了equalTo方法,'o'指的是'ob2'。由于'a'和'b'的值对于两个引用都是相同的,所以如果(条件)为真,那么将返回布尔值true。
if(oa == a ob == b)
执行以下语句时,'o'将重新分配给'ob3'。
System.out.println(“ob1 == ob3:”+ ob1.equalTo(ob3));
现在我们可以看到,'ob1'上调用了equalTo方法,'o'指的是'ob3'。由于'a'和'b'的值对于两个引用都不相同,所以如果(条件)为假,那么else块将执行并且将返回false。
定义一个将其类的对象作为参数的构造函数
对象参数最常见的用途之一是构造函数。通常,在实践中,需要构建一个新对象,以便它最初与某个现有对象相同。为此,我们可以使用Object.clone()方法或定义一个将其类的对象作为参数的构造函数。下面的例子说明了第二个选项:
// Java program to demonstrate one object to
// initialize another
class Box
{
double width, height, depth;
// Notice this constructor. It takes an
// object of type Box. This constructor use
// one object to initialize another
Box(Box ob)
{
width = ob.width;
height = ob.height;
depth = ob.depth;
}
// constructor used when all dimensions
// specified
Box(double w, double h, double d)
{
width = w;
height = h;
depth = d;
}
// compute and return volume
double volume()
{
return width * height * depth;
}
}
// driver class
public class Test
{
public static void main(String args[])
{
// creating a box with all dimensions specified
Box mybox = new Box(10, 20, 15);
// creating a copy of mybox
Box myclone = new Box(mybox);
double vol;
// get volume of mybox
vol = mybox.volume();
System.out.println("Volume of mybox is " + vol);
// get volume of myclone
vol = myclone.volume();
System.out.println("Volume of myclone is " + vol);
}
}
输出:
Volume of mybox is 3000.0
Volume of myclone is 3000.0
返回对象
在java中,一个方法可以返回任何类型的数据,包括对象。例如,在以下程序中,incrByTen()方法返回一个对象,其中(整数变量)的值比调用对象中的值大10。
// Java program to demonstrate returning
// of objects
class ObjectReturnDemo
{
int a;
ObjectReturnDemo(int i)
{
a = i;
}
// This method returns an object
ObjectReturnDemo incrByTen()
{
ObjectReturnDemo temp =
new ObjectReturnDemo(a+10);
return temp;
}
}
// Driver class
public class Test
{
public static void main(String args[])
{
ObjectReturnDemo ob1 = new ObjectReturnDemo(2);
ObjectReturnDemo ob2;
ob2 = ob1.incrByTen();
System.out.println("ob1.a: " + ob1.a);
System.out.println("ob2.a: " + ob2.a);
}
}
输出:
ob1.a:2
ob2.a:12
关于java函数返回对象和java 返回函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。