100天代码提升计划-第12天

继承(二)

区分子类方法名中重名的三种

局部变量   //直接输出

本类成员变量   //this.本类成员变量

父类的成员变量   //super.父类变量

主方法

package Demo03;

public class Project {
    public static void main(String[] args) {
        ZI zi=new ZI();
        zi.fatherr();

    }
}

子类

package Demo03;

public class ZI extends Fu{
    int num=20;
    public  void  fatherr(){
        int num=30;
        System.out.println(num);
        System.out.println(this.num);
        System.out.println(super.num);
    }

}

父类

package Demo03;

public class Fu {
    int num=10;
}

 

二、成员方法访问

1,成员方法重名规则

创建的对象是谁就优先找谁,没有则想上找。

注意事项

无论成员方法还是成员变量,如果没有都是向上找父类,绝对不会出现向下找子类

 

主方法

package Demo03;

public class Project {
    public static void main(String[] args) {
        ZI zi=new ZI();
        zi.mether();

    }
}

 

父类

package Demo03;

public class Fu {
   public void mether(){
       System.out.println("父类方法");
   }
}

 

子类

package Demo03;

public class ZI extends Fu{
    public void mether(){
        System.out.println("子类方法");
    }

}

 

三、重写

重写(override):方法名一样,参数列表一样

重载(overload):方法名一样,参数列表不一样

特点:创建的是子类对象,则优先使用子类方法

注意事项

1.父子类方法名称一样,参数列表一样

 @override:写在方法前面,负责检测是否有效存在覆盖重写

2子类方法的返回值要小于等于父类方法返回值范围

object继承的顶端类 

3.子类的权限必须大于等于父类的权限修饰符

public>protected>(default)>private

 

父类


package Demo03;

public class Fu {

String method(){
return null;
}
}

子类

package Demo03;

public class ZI extends Fu{
    @Override
    protected String method(){
        return null;

    }

}

 

 

 

 

 

 

     

posted @ 2022-03-15 00:03  软测成长者  阅读(19)  评论(0)    收藏  举报