将对象作为参数传递给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”标记。