java之中要如何在一个class中调用另一个class里面的变量?

已知有两个Class 都继承了一个相同C
Class A extends C{
public A(float x, float y){...}
private int x;
public void getX{....}
}
Class B extends C{
public B(float x, float y){...}
//-------------
}
现在想在B 的 //----- 这一行表达出 调用 A 里的 x, 类似 A a.getX()
该怎么执行呢

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

package homework4;

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

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

*/

public class onetoone {


public static void main(String[] args) {

// TODO Auto-generated method stub

Husband h=new Husband();

Wife w=new Wife();

h.setName("花花");

h.setSex('男');

w.setName("小红");

w.setAge(23);

h.wife=w;//将妻子类中的属性值赋予h.wife

w.husband=h;//将丈夫类中的属性赋予w.husband

System.out.println("我是"+h.getName()+",我的妻子是"+h.wife.getName()+",她今年"+h.wife.getAge()+"岁了。");


}


}

//丈夫类

class Husband{

private char sex;

private String name;

public Wife wife;

public void setSex(char sex){

this.sex=sex;

}

public int getSex(){

return sex;

}

public void  setName(String name){

this.name=name;

}

public String getName(){

return  name;

}

public Husband(){ }

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

//this.name=name;

//this.sex=sex;

//}

}

//妻子类

class Wife{

private int age;

private String name;

public Husband husband;

public void setAge(int age){

this.age=age;

}

public int getAge(){

return age;

}

public void  setName(String name){

this.name=name;

}

public String getName(){

return  name;

}

public Wife(){}

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

//this.age=age;

//this.name=name;

//}

}

输出结果:

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-10-06
一、在目前的代码中,B类里没有A类的对象,连A类的对象都没有,肯定更没法调用它里边的变量了。

二、因为x使用private修饰,所以不能使用正常的方法获取x的值,如果能获取到A类的对象,可以考虑使用反射来获取追问

现在x里面的值是不停的会变得, 而且A里面有构造 new感觉在B里用不了, 难道没有办法获得A的值吗

本回答被网友采纳

java之中要如何在一个class中调用另一个class里面的变量?
如果第二个类继承于第一个类,第二个类就继承了第一个类的非私有成员,那么第一个类的非私有成员变量可以调用。如果这两个类没有任何关系,第二个类想调用第一个类中的变量,可以在第二个类的新建一个对象,用类名加点的方式访问,当然该变量要是非私有的。

如何在Java的一个Class里调用另一个Class里的变量的值?
Class B { int var;} A 中调用 var 如果var对于不同的B对象值是不同的。Class A { public void visit () { B ob; ob.getVar (); } } Class B { private int var;public int getVar () { return var; } } 如果该变量对于所有的B对象都是一样的。Class A { public void visit ...

java怎么在一个类里面调用另一个类中的变量?
1.你需要调用的另一个类的变量.必须是全局变量.\\x0d\\x0a 2.User user = new User();\\x0d\\x0a 3.定义为public.通过user.name就可以拿到user类里面的name变量\\x0d\\x0a 4.定义为private 那么就必须在user类里面添加name变量的set,get方法,通过user.getName()方法拿到user里面的name变量\\x...

java中怎样在一个类中访问同一个包中的另一个类定义的变量?
A类想调用B类中的变量c:给A一个属性,属性类型是B,然后再对B进行封装,用A对象调用B封装后的方法,然后就可以访问c了代码:public class B {private int c;public int getC() {return c;}public void setC(int c) {this.c = c;}}public class A {private B b;public B getB() {re...

在JAVA中,如何在一个方法中调用另一个方法中的变量?
一个方法中的参数是局部变量,只能在本方法内部使用。如果非要在别的方法中使用,可以将你在方法1中输入的整数作为方法1的返回值,在方法2中调用方法1,间接调用输入的整数。public int method1(){ Scanner scan = new Scanner(System.in);int n = scan.nextInt();return n;} public void meth...

java中一个类想调用另一个类的变量,必须到方法里面吗,直接在类里面能不...
java 不能在类中初始化引用,所以不能直接在类中new一个对象出来,要使用其他类的变量,必须在自己的类的方法中先创建被引用类的实例,通过实例来引用该类的变量,但是,如果被引用的类的变量是静态的,则可以通过如下指令引用:类名.变量 来直接引用这个变量。

Java如何在一个类中引用另一个类的成员变量和方法
public class Test(){ String ids;String names;public static void main(String[] args){ Test test = new Test();Student stu = new Student("001","jack");test.ids = stu.id;test.nams = stu.name;System.out.println("ID=" + this.ids + " Name=" + this.names);} } ...

java中一个类想调用另一个类的变量该怎么办?
如果另一个类的变量是静态变量,用 类名.变量名 调用 如果是public的变量,先创建另一个类的对象,用 对象名.变量名 调用 如果是private的变量,用set、get方法操作对象 还可以利用反射机制操作变量

java函数调用(在一个类中怎么调用另一个类的变量和函数)
public class Student {\/\/ 带有主函数的类,Score类在下面 String name;Score score = new Score();\/\/ 此句有重大嫌疑 nested class object as an attribute, no mistake here!public String introduce() { return (name + "\\t" + score.java + "\\t" + score.db + "\\t" + score.c +...

java怎样从一个包中调用另外一个包中的变量
这个很简单 把要调用的变量设为public变量,在要调用的包里面实例化那个变量所在的类,然后通过点语法调用这个变量。不明白可以追问,望采纳!

相似回答