黑马就业班day1java重载和继承中的一些问题

1.重载
(1方法修饰符可以不同,父类用private修饰的成员属性子类无法访问,子类的方法权限要大于等于父类,权限排序:public>protected>default>private。

public class Fu {

    public Fu() {
    }
    protected     Fu  meth(){
        System.out.println("这是父类的方法");
        return null;
    }
}

class Zi extends Fu{
    public Zi  meth(){
        System.out.println("这是子类的方法");
        return null;
    }
}



class Test1{
    public static void main(String[] args) {
        new Zi().meth();
    }
}

*(2).返回值类型可以不同, 子类返回值类型可以是父类返回值类型的子类,代码如下。

public class Fu {

    public Fu() {
    }
    public  Fu  meth(){
        System.out.println("这是父类的方法");
        return null;
    }
}

class Zi extends Fu{
    public Zi  meth(){
        System.out.println("这是子类的方法");
        return null;
    }
}

class Zizi extends Fu{
    public Zizi  meth(){
        System.out.println("这是子类的子类的方法");
        return null;
    }
}

class Test1{
    public static void main(String[] args) {
        new Zizi().meth();
    }
}

2.继承
(1).父类中的私有方法(属性)不能被继承,且只能在本类中使用,new出来的对象也不能使用。
(2)this() 和 super()只能用于构造方法的第一行,super.(父类非私有成员变量方法)可调用。

发布了8 篇原创文章 · 获赞 3 · 访问量 114

猜你喜欢

转载自blog.csdn.net/weixin_43814245/article/details/105055840
今日推荐