「java方法返回对象」java方法返回值用法
本篇文章给大家谈谈java方法返回对象,以及java方法返回值用法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java调用so方法如何返回对象
- 2、在java中,要是一个方法的返回值是一个对象,那是返回这个对象里面的什么东西/?只是变量返回么?还是其他
- 3、JAVA中,返回一个对象,怎么理解啊
- 4、java直接返回一个new对象好还是用变量保存再返回好?
- 5、java方法需要返回一个对象
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中,要是一个方法的返回值是一个对象,那是返回这个对象里面的什么东西/?只是变量返回么?还是其他
返回的是一个值:
如果返回的是一个int型的a,它的值为10,则返回的就是10而不是a。
如果返回的是一个对象a,它的值为这个对象的引用,通过这个对象的引用可以获得它相关的属性,也可以通过这些属性的方法改变其属性的值。
JAVA中,返回一个对象,怎么理解啊
我的理解是:c中的函数返回一个值,而java中,理解了OO思想以后就知道方法中返回的不一定都是值,还可以是一个new出来的对象。
java直接返回一个new对象好还是用变量保存再返回好?
首先,第一种比第二种少一步
第一种返回的是已经存在的值,第二种相当于创建一遍再返回
然后,第二种完全没用
因为第二种是返回一个全新的对象,而如果要对其进行操作的话,操作的结果 根本得不到,所以一般情况下都用第一种,第二种就相当于这个式子: Student student = new Student();
使用这个式子直接new一个对象就行了,而如果要用第二种的话,还得创建一个方法,指定方法的返回类型,然后再返回值,这样非常麻烦,反正我是没这么用过
最后,总结
第一种返回的是保存的值,也就是可以将对其操作的结果保存下来,比如一个集合,你添加了一些值,它返回的就是添加后的集合
第二种则是一个全新的值,相当于你有创建了一遍对象,跟原来的完全没关系
java方法需要返回一个对象
你好,将tb初始化就好了,Book tb=null;然后就可以了
希望可以帮助到你
关于java方法返回对象和java方法返回值用法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。