java重载,重写 和 继承

1.重写
(1方法修饰符可以不同,父类用private修饰的成员属性子类无法访问,父类用static修饰的方法子类无法重写,子类的方法权限要大于等于父类,权限排序: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.在同一个类中, 允许存在一个以上的同名方法, 只要它们
的参数个数或者参数类型不同即可。
方法重载特点
1.与返回值类型无关, 只看方法名和参数列表
2/在调用时, 虚拟机通过参数列表的不同来区分同名方法


public class TestOverWrite {
    public int add(int a,int b){
        return a+b;
    }

    public float add(float a,float b){
        return a+b;
    }

    public int add(int... a){
        int sum=0;
        for (int i : a) {
            sum+=i;
        }
        return sum;
    }

    public static void main(String[] args) {
        TestOverWrite testOverWrite = new TestOverWrite();
        System.out.println(testOverWrite.add(1, 2));
        System.out.println(testOverWrite.add(1f, 2f));
        System.out.println(testOverWrite.add(1, 2, 3));
    }
}

out

3
3.0
6

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值