补充:java是向上兼容的,如果你的定义是int,传入一个short是没有问题的。反之则不行。
short的取值范围:-32768 - 32767
int的取值范围:-2147483648 - 2147483647。
另外java有默认常用类型,比如你的1,它默认为int。
---------------
由于你的构造方法person(String name,char gender,short age)中的参数类型分别为:String,char,short,
而你调用它时用的person person=new person("pzn",'m',1);其参数类型为String,char,int。int和short类型是不匹配的,所以会报错,建议改成(两者取其一):
public int age ;
public person(String name,char gender,int age){
this.name= name;
this.gender= gender;
this.age= age;
} 或者
person person=new person("pzn",'m',(short)1);
恩,是的