java方法重载和覆写的定义,static和final修饰符的讲解,java面试题

方法重载的规则:

    1、必须发生在同一个类的下面
    2、必须保证方法名字相同
    3、参数列表不同
        参数的类型不同
        参数的个数不同
        参数的顺序不同
    4、返回值:和返回值无关
    5、修饰符:和修饰符无关
    6、抛出异常:无关

    例子:
    public void add(int i);
    public void add(double d);
    public void add(long l);
    poublc void add(String s);

 

方法重写(也叫做覆写):

    1、一定发生在继承关系中
    2、子类中重写父类中存在的方法
    3、规则:
        方法名称必须相同
        参数列表必须相同
        子类返回值类型可以比父类小,至少要相同
        子类抛出的异常比父类的小,至少要相同
        子类的权限访问必须比父类的大,至少要相同
            例子:
                如果父类返回值是默认的,子类重写返回值不可以为private,可以与父类相同也可以定义为public;

        总结:重写要满足 "在子父类中,两同两小一大""

 


static修饰符:(静态)

    修饰变量:静态变量,被该类的所有对象共享,只存在一个
        成员变量:只能修饰这个
        局部变量:不可以修饰局部变量
    修饰方法:静态方法
        静态方法中不能够出现非静态的成员变量
        静态方法的调用方式:类名.方法名();不用创建对象,因为依赖与类存在
        非静态方法中可以使用静态变量
        非静态方法的调用方式:对象名.方法名();需要创建对象,因为依赖与对象存在
    修饰代码块:静态代码块  {}
        静态代码块随着程序的运行,只会执行一次
        非静态的代码块会随着对象的创建而执行,有几个对象,则执行几次
        注意:如果同时出现多个静态代码块和普通代码块,则静态代码块优先按照声明的顺序进行,只执行一次,
        然后在按照普通代码块的声明顺序开始进行


    总结:静态成员依赖于类的存在
         非静态(实例)成员是依赖于对象的存在


final修饰符:(最终的、最后的、不可改变的)

    变量:
        final变量能被显示的初始化并且只能初始一次,被声明为final的对象的引用不能指向不同的对象,但是final对象里的数据可以被改变 也就是说final对象的引用不能改变,但是里面的值可以改变; final修饰变量相当于一个常量,只可以赋值一次;

        静态变量:必须在声明的时候显性的赋值
        实例变量:可以在声明阶段先声明,可以在构造器中进行初始化,如果有多个构造器,则每一个构造器中都要对该实例变量进行初始化

    方法:
        被final修饰的方法不可以被子类重写
    
    类:
        final修饰类不可以被继承,说明该类功能已经很完整,不允许再扩展

        String
        StringBuffer
        StringBuilder 
            append

    代码块:不能修饰代码块

    构造器:不能修饰构造器

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值