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

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

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

    变量使用时遵循 就近原则

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

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

  • 相关阅读:
    数组的Clone方法
    反射创建类的一种方法
    css比较容易搞混的三个选择器
    java8 引进lamda
    js动态创建的元素绑定事件
    【Alpha版本】项目测试
    第五次团队作业——【Alpha版本】随笔汇总
    【Alpha版本】项目总结
    【Alpha版本】冲刺阶段——Day 10
    【Alpha版本】冲刺阶段——Day 9
  • 原文地址:https://www.cnblogs.com/jhin-wxy/p/10472126.html
Copyright © 2011-2022 走看看