package 积极;
public class Student{
public static void main(String[] args){
S s1 =new S();
S s2 =new S("肖战",1005);
System.out.println(s1.getname()+s1.getgrade());
System.out.println(s2.getname()+s2.getgrade());//将有参函数里的输出放到了主函数
}
}
class S {
private String name;
private float grade;
public String getname(){
return name;
}
public void setname(String name){
this.name =name;
}
public float getgrade(){
return grade;
}
public void setgrade(float grade){
this.grade =grade;
}
public S(){
setname("肖战");
setgrade(1005);
// System.out.println(name+grade);
}
public S(String name,float grade){// 这里需要添加this
this.name=name;
this.grade=grade
System.out.println(name+grade);
}}
改完之后得输出,再放入主函数时,没有准确赋值
This
- 解决与局部变量名冲突得问题,这次错误的原因也是如此,我以为已经将值赋给了成员变量,但是却只是局部变量
class c extends S
{
public c (){
super("时影",3);
super.setname("魏无羡");
super.setgrade(3);
}
Super 可以继承父类的方法,但是继承构造方法时必须放在第一个,否则会报错,因为构造函数在加载类的时候就会被调用,所以要放到第一个。