如果在子类中调用
,那么先new
一个参数所在类型的对象a,即
A
a
=
new
A(),然后在子类中用super(a)就可以调用父类的带类参数构造方法。
2
如果在其他类中调用,那么也需要先new
一个参数所在类型的对象a,即
A
a=new
A(),然后new调用类的的时候把参数传进去就可以了,B
b
=
new
B(a)。
public class Teacher{
public String id
public String Name
public int Age
public String college
public Teacher()
{
this.id = "0001"
this.Name="CJK"
this.Age = 20
}
public String getCollege()
{
return college
}
public String teacherInfo(String id,String name,int age)
{
this.id = id
this.Name=name
this.Age = age
return "返回参数信息"//这个地方我不太明白你说的返回参数是什么意思
//把3个参数拼接起来返回出来?
}
public String teacherInfo(Teacher d)
{
this.id = d.id
this.Name=d.Name
this.Age = d.Age
return "返回参数信息"//这个地方我不太明白你说的返回参数是什么意思,
}
public static void main(String[] args)
{
Teacher t1 = new Teacher()
System.out.println("teacher1 info...")
System.out.println("id:" + t1.id)
System.out.println("Name:" + t1.Name)
System.out.println("Age:" + t1.Age)
Teacher t2 = new Teacher()
t2.teacherInfo("0002", "MMYZ", 21)
System.out.println("teacher2 info...")
System.out.println("id:" + t2.id)
System.out.println("Name:" + t2.Name)
System.out.println("Age:" + t2.Age)
Teacher t3 = new Teacher()
t3.id = "0003"
t3.Name="小泽玛利亚"
t3.Age = 23
t3.teacherInfo(t3)
System.out.println("teacher3 info...")
System.out.println("id:" + t3.id)
System.out.println("Name:" + t3.Name)
System.out.println("Age:" + t3.Age)
}
}
因为在一个类中,默人有一个没有带参数的构造函数;在上面的这个类中,有自定义了一个带参数的构造函数。
当你在测试类中写的时候,实际上也有两个构造属性的方法。一个没有参数,一个有参数,所以必须程序员自己指定。故没有提示。
只能程序员自己添加。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)