/*
*类的继承 和 父类中构造方法的调用
*孔华生
*/
/**********************************************************************/
class Person
{
private String name ;
private String location ;
String k = " ";//定义空格字符串
Person(String name)
{
this.name = name;//this指的是这个类中的name等于 传入实参name
location = "BeiJing";
}
Person(String name,String location)
{
this.name = name;
this.location = location;
}
public String ifo()
{
return "name:"+name+k+"location:"+location;
}
}
/**************************************************************/
//学生类型,继承Person类型
class Student extends Person
{
private String school;
Student( String name,String school)
{
this(name,"BeiJing",school);//调用本类中的另外一个构造函数(哪一个看传入的参数而定)
}
Student(String n,String l,String school)
{
super(n,l);//调用父类构造函数 ,必须写在第一行,根据形参识别是哪一个构造函数
this.school = school;
}
public String ifo()
{
return super.ifo()+k+"school:"+school;//为什么要用return super.ifo()??为什不不直接调用
}//答曰:
}
/******************************************************************/
//增加一个老师类型,继承Person类型
class Teacher extends Person
{
private String professional;
Teacher(String name,String location,String professional)
{
super(name,location);
this.professional = professional;
}
public String ifo()
{
return super.ifo()+k+"prefssional:"+professional;
}
}
/*******************************************************************/
public class TestExtends
{
public static void main(String[] args)
{
Person p1 = new Person("WangShi");
Person p2 = new Person("ZhangJiang","ShangHai");
Student s1 = new Student("KongHuaSheng","HangZhou","HEDU");
Student s2 = new Student("FanTingTing","HeGongDa");
Teacher t1 = new Teacher("LiWeiBing","BinZhou","professor");
System.out.println(p1.ifo());
System.out.println(p2.ifo());
System.out.println(s1.ifo());
System.out.println(s2.ifo());//分析输出很有意思\
System.out.println(t1.ifo());
}
}
*类的继承 和 父类中构造方法的调用
*孔华生
*/
/**********************************************************************/
class Person
{
private String name ;
private String location ;
String k = " ";//定义空格字符串
Person(String name)
{
this.name = name;//this指的是这个类中的name等于 传入实参name
location = "BeiJing";
}
Person(String name,String location)
{
this.name = name;
this.location = location;
}
public String ifo()
{
return "name:"+name+k+"location:"+location;
}
}
/**************************************************************/
//学生类型,继承Person类型
class Student extends Person
{
private String school;
Student( String name,String school)
{
this(name,"BeiJing",school);//调用本类中的另外一个构造函数(哪一个看传入的参数而定)
}
Student(String n,String l,String school)
{
super(n,l);//调用父类构造函数 ,必须写在第一行,根据形参识别是哪一个构造函数
this.school = school;
}
public String ifo()
{
return super.ifo()+k+"school:"+school;//为什么要用return super.ifo()??为什不不直接调用
}//答曰:
}
/******************************************************************/
//增加一个老师类型,继承Person类型
class Teacher extends Person
{
private String professional;
Teacher(String name,String location,String professional)
{
super(name,location);
this.professional = professional;
}
public String ifo()
{
return super.ifo()+k+"prefssional:"+professional;
}
}
/*******************************************************************/
public class TestExtends
{
public static void main(String[] args)
{
Person p1 = new Person("WangShi");
Person p2 = new Person("ZhangJiang","ShangHai");
Student s1 = new Student("KongHuaSheng","HangZhou","HEDU");
Student s2 = new Student("FanTingTing","HeGongDa");
Teacher t1 = new Teacher("LiWeiBing","BinZhou","professor");
System.out.println(p1.ifo());
System.out.println(p2.ifo());
System.out.println(s1.ifo());
System.out.println(s2.ifo());//分析输出很有意思\
System.out.println(t1.ifo());
}
}