Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将对象作为参数传递给JAVA方法_Java_Oop_Object - Fatal编程技术网

将对象作为参数传递给JAVA方法

将对象作为参数传递给JAVA方法,java,oop,object,Java,Oop,Object,我得到了主要的代码来完成子类。 但我被困在这些编码中,如下所示: z.setName(z.obj1); z.setID(z.obj2); **********它应该是插入输入的方式************** ============下面显示的子类是我自己编写的========== 主要编码如下所示: public static void main(String[] args) { StudReg z = new StudReg(); z.setName(z.obj1);

我得到了主要的代码来完成子类。 但我被困在这些编码中,如下所示:

z.setName(z.obj1);
z.setID(z.obj2);
**********它应该是插入输入的方式**************

============下面显示的子类是我自己编写的==========

主要编码如下所示:

public static void main(String[] args) {
    StudReg z = new StudReg();

    z.setName(z.obj1);
    z.setID(z.obj2);  

    System.out.println(z.getName());
    System.out.println(z.getID());
    System.out.println(z.getJava());
    System.out.println(z.getDatabase());

    StuComputing obj3,obj4;
    obj4 = new StuComputing();
    obj4.setStudReg(z);
    System.out.println(obj4.GPA().getGPA());
}
public class StudReg {

//Data Member 
String Name;
String ID;
double Java,Database;

//Constructor
public StudReg(){};
public StudReg(String a,String b){
    Name = a;
    ID = b;
};



//Name
public void setName(String n){
    Name = n;
}
public String getName() {
    return Name;
}

//Id
public void setID (String i){
    ID = i;
}
public String getID (){
    return ID;
}

//Java
public void setJava (double j){
    Java = j;
}
public double getJava (){
    return Java;
}

//Database
public void setDatabase (double d){
    Database = d;
}
public double getDatabase (){
    return Database;
}



//FUNCTION
public StudReg (StudReg gg){
    double aa,bb;

    //refer to data from MAIN
    aa = this.getJava();
    bb = this.getDatabase();
}
我完成的子类StudReg如下所示:

public static void main(String[] args) {
    StudReg z = new StudReg();

    z.setName(z.obj1);
    z.setID(z.obj2);  

    System.out.println(z.getName());
    System.out.println(z.getID());
    System.out.println(z.getJava());
    System.out.println(z.getDatabase());

    StuComputing obj3,obj4;
    obj4 = new StuComputing();
    obj4.setStudReg(z);
    System.out.println(obj4.GPA().getGPA());
}
public class StudReg {

//Data Member 
String Name;
String ID;
double Java,Database;

//Constructor
public StudReg(){};
public StudReg(String a,String b){
    Name = a;
    ID = b;
};



//Name
public void setName(String n){
    Name = n;
}
public String getName() {
    return Name;
}

//Id
public void setID (String i){
    ID = i;
}
public String getID (){
    return ID;
}

//Java
public void setJava (double j){
    Java = j;
}
public double getJava (){
    return Java;
}

//Database
public void setDatabase (double d){
    Database = d;
}
public double getDatabase (){
    return Database;
}



//FUNCTION
public StudReg (StudReg gg){
    double aa,bb;

    //refer to data from MAIN
    aa = this.getJava();
    bb = this.getDatabase();
}
另一个子类-StuComputing:

public class StuComputing {

//DATA MEMBER
public StudReg ss;
double GPA;

//CONSTRUCTOR
public StuComputing (){};
public StuComputing (double a1){       
    GPA = a1;              
};



//StudReg
public void setStudReg (StudReg st){
    ss = st;
}
public StudReg getStudReg(){
    return ss;
}


//GPA
public void setGPA(double g){
    GPA = g;
}
public double getGPA(){
    return GPA;
}
除了回答我的问题,你们能举个简单的例子吗?
所以,我很容易理解你一定忘了什么。类StudReg中没有obj1或obj2属性


那么我们如何理解你的问题呢?我想你需要用其他措辞再次提问。

我仍然不知道你真正想做什么。。。试试这个

class StudReg {

String obj1 ;
String obj2 ;
double java ;
double database ;
String name ;
String id ;

public double getJava() {
    return java;
}

public double getDatabase() {
    return database;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getID() {
    return id;
}

public void setID(String id) {
    this.id = id;
}

public String getObj1() {
    return obj1;
}

public void setObj1(String obj1) {
    this.obj1 = obj1;
}

public String getObj2() {
    return obj2;
}

public void setObj2(String obj2) {
    this.obj2 = obj2;
}

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}
}

}


}

您的问题很可能是,因为您没有真正描述它,您的类StudReg既没有名为obj1的变量,也没有名为obj2I的变量。我们要求您的类执行子类编码以支持主类编码。但是我不能去。我尝试过像public StudReg obj1{StudReg st=new StudReg;st.setNamexxxx;st.setIDDg52;return st;}这样的编码,但是我做不到。这个main类有意义吗?为什么StudReg中有一个公共字段只是为了调用同一对象上的setter,在同一对象的另一个字段中设置相同的值。。。我很困惑。。。obj1和obj2是默认值吗?那么它们不应该是静态的吗?是的,主类工作。我已尝试将public StudReg obj1{StudReg st=new StudReg;st.setNameChai;st.setIDD2014;return st;}放入公共StudReg,但发生了另一个错误。我不应该在主代码中做任何更改。那么,我应该在StudReg中做些什么更改呢?因为我的讲座刚刚给了我主要的代码。我被要求构建子类StudReg。如果我想在我的子类中添加obj1,它是否会这样:public StudReg obj1{String n;Name=n;}???嗨,如果你像你一样写z.obj1,你会引用z的一个属性,它是StudyReg的实例,你想要的是有一个名为obj1的实例。仔细阅读:您应该创建obj1:obj1=new StudyReg为其name属性指定一个值:obj1.setNameChai Jin Ying,然后将obj1的name属性指定给z:z.setNameobj1.getName尝试此操作后,请阅读一本关于初学者编程的书,并小心操作。成功。我已尝试将public StudReg obj1{StudReg st=new StudReg;st.setNameChai;st.setIDD2014;return st;}放入公共StudReg对象,但发生了另一个错误。我不应该在主代码中做任何更改。那么,我应该在StudReg中做些什么更改呢?对不起,这些问题非常基本。试着读一本好书,不要拘泥于例子,而是要努力理解。对象obj1;对象obj2;对象java;对象数据库;对象名称;对象id;这些被视为数据成员?我尝试了你的建议,但输出不起作用。这是因为在计算中有一个计算。我必须获得位于StuComputing的计算GPA的“Java”和“Database”标记。