求教!java中一个类中如何调用别的类的已经实例化后的对象

求教!java中一个类中如何调用别的类的已经实例化后的对象,第1张

如果想要调用某个已经实例化的对象,那么只有把那个对象的引用传到你当前对象才可能,不然没办法,或者说你只需要那个类的方法,那你在代码里面创建一个新对象调用就好了。

你报错是因为你在对象本身创建一个自己的对象,实际上进入了死循环了,你试想一下,你每次创建TestDiaoYongLingWaiLeiDuiXiang2对象的时候,这个对象又要通过new 创建一个TestDiaoYongLingWaiLeiDuiXiang2对象,然后这个对象创建的时候又去new 一直没有穷尽,所以就把内存撑爆了。

static修饰这个对象就是把对象的实例化提前了,也就是说这个对象会在jvm运行时就先加载到内存,而不是你new的时候,所有new出来的对象的这个属性都指向这一个地方,所以你无论用new还是类名都可以访问到他,而且两种方式访问到的是同一个对象。

java一个类调用另一个类的数组元素,首先需要创建一个被调用类的对象,然后利用对象调用数组元素。
代码如下:
public Class C1{
C2 c=new C2();//创建c2的对象
carray[index];//这里是调用素组的元素
}
Class C2{
Object[] array=new Object[5];
}

Java中当然可以在一个类中调用另一个类的静态公有方法。
首先公有方法,其他类是可以访问的。
调用静态方法的语法是,
类名方法名(参数)
所以,比如另一个类叫OtherClass,它的静态公有方法是publicMethodA(),假设它还有返回值,是int类型,
那么在自己的类里调用的方式就是:
int result = OtherClasspublicMethodA();
另外,调用非静态方法(也叫成员方法),比如方法叫int publicMethodB(),就必须先创建这个对象再调用其方法,例如:
int result2 = new OtherClass()publicMethodB();

这里就用到了对象的一对一关系,你可以将对方的类作为自己类的一个属性,写在自己的属性里面,给你代码,你看看就知道

package homework4;

/对象与对象之间的一对一关系

简要的说就是讲一个类作为另一个类的一个属性(注意,在这里作为属性时,不能是私有的,)

/

public class onetoone {

public static void main(String[] args) {

// TODO Auto-generated method stub

Husband h=new Husband();

Wife w=new Wife();

hsetName("花花");

hsetSex('男');

wsetName("小红");

wsetAge(23);

hwife=w;//将妻子类中的属性值赋予hwife

whusband=h;//将丈夫类中的属性赋予whusband

Systemoutprintln("我是"+hgetName()+",我的妻子是"+hwifegetName()+",她今年"+hwifegetAge()+"岁了。");

}

}

//丈夫类

class Husband{

private char sex;

private String name;

public Wife wife;

public void setSex(char sex){

thissex=sex;

}

public int getSex(){

return sex;

}

public void  setName(String name){

thisname=name;

}

public String getName(){

return  name;

}

public Husband(){ }

//public husband(char sex,String name){

//thisname=name;

//thissex=sex;

//}

}

//妻子类

class Wife{

private int age;

private String name;

public Husband husband;

public void setAge(int age){

thisage=age;

}

public int getAge(){

return age;

}

public void  setName(String name){

thisname=name;

}

public String getName(){

return  name;

}

public Wife(){}

//public wife(int age,String name){

//thisage=age;

//thisname=name;

//}

}

输出结果:

想要引用另一个包中的类方法,你需要导你要用到那个类所在的包。
比方说,你在AJava中应用到B包下的C类,所以你在文件头的书写格式是 import BC;
当然最快捷的方式是,你可以在你用到该方法后,或则用到某个包里面的类创建一个新对象的时候,这时候系统回报错,你可以按下键盘Ctrl + Shift + O 快捷键,这样系统会自动帮你导入包。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12605160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存