zoukankan      html  css  js  c++  java
  • 封装、继承、多态

    方法的重载和覆盖

    重载(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编译器提供一个默认构造函数。 在任何情况下编译器都不会提供默认的方法调用。
    构造函数名称必须与类名称相同。 方法名称可以或可以不与类名称相同(随意)。

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

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

    变量使用时遵循 就近原则

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

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

  • 相关阅读:
    poj 2528 Mayor's posters (线段树+离散化)
    poj 1201 Intervals (差分约束)
    hdu 4109 Instrction Arrangement (差分约束)
    poj 1195 Mobile phones (二维 树状数组)
    poj 2983 Is the Information Reliable? (差分约束)
    树状数组 讲解
    poj 2828 Buy Tickets (线段树)
    hdu 1166 敌兵布阵 (树状数组)
    Ubuntu网络配置
    Button控制窗体变量(开关控制灯的状态)
  • 原文地址:https://www.cnblogs.com/jhin-wxy/p/10472126.html
Copyright © 2011-2022 走看看