• 封装、继承、多态


    方法的重载和覆盖

    重载(overload):在一个类中重载多个方法,方法名相同,参数形式、数量不同

    重载的规则:
       1、重载时只能通过相同的方法名、不同的参数形式实现,可以是不同的参数类型,不同的参数个数,不同的参数顺序(参数类型必须不一样);
       2、不能通过访问权限、返回类型、抛出的异常进行重载;
       3、方法的异常类型和数目不会对重载造成影响;

    覆盖(override):重写一个方法,用以实现不同的功能,一般是子类重写父类的方法

    重写(覆盖)的规则:
       1、参数列表必须完全相同,否则不能称其为重写而是重载.
       2、访问修饰符一定要大于被重写方法的访问修饰符(public>protected>default>private)。
       3、返回值必须和被重写的方法的返回一致;
       4、抛出的异常必须和被重写方法的所抛出的异常一致,或者是其子类;
       5、被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行重写。
       6、静态方法不能被重写为非静态的方法(会编译出错)。

    继承(extends):继承父类的全部功能,只能有一个继承

    实现(implements):实现接口中所定义的方法,可实现多个接口

    默认构造器:Java类中有默认的无参构造器,格式为<class_name>(){},作用是根据类型为对象提供默认值,0或null...

    有参构造器:为不同的对象提供不同的初始化参数,构造方法也可以进行重载

    构造函数与方法之间的区别

    Java构造函数Java方法
    构造器用于初始化对象的状态(数据)。 方法用于暴露对象的行为。
    构造函数不能有返回类型。 方法一般都有返回类型。
    构造函数隐式调用。 方法要显式调用。
    如果没有指定任何构造函数,java编译器提供一个默认构造函数。 在任何情况下编译器都不会提供默认的方法调用。
    构造函数名称必须与类名称相同。 方法名称可以或可以不与类名称相同(随意)。

    成员变量:定义在类中,类中都可以访问;存储在堆内存的对象中;有默认初始值

    局部变量:作用于局部,局部访问;存储在栈中,随作用域结束而清除;没有初始值

    变量使用时遵循 就近原则

    静态变量(方法):随着类的加载存在,类消失而消失;可通过类名调用;存储在方法区的静态区;对象之间共享

    对象的作用域通过{}来分割

  • 相关阅读:
    Lucene.net系列六 search 下
    Lucene.net 系列三 index 中
    初识Antlr
    Antlr首页计算机器实验成功
    C#语言学习之旅(1):C#基础
    NeatUpload js 判断上传文件的大小是否超过了空间的大小
    对XML的各种操作
    多表求和
    xmlhttp 最简单的无刷新
    xml 查询
  • 原文地址:https://www.cnblogs.com/jhin-wxy/p/10472126.html
Copyright © 2020-2023  润新知