Java设计模式详解:构造方法、重载与封装/继承机制

需积分: 6 1 下载量 145 浏览量 更新于2024-07-16 收藏 1.89MB DOC 举报
本文档深入介绍了Java设计与模式,主要涵盖了面向对象编程的基础概念和实践。首先,讲解了构造方法在类中的应用,它是用于初始化对象的,如创建一个名为"Cat"的类时,通过构造方法赋予猫一个名字。构造方法的实例化过程清晰明了,例如`Cat cat = new Cat("咪咪");`。 然后,文章提到了方法重载这一关键概念,它允许在Java中使用相同的方法名称,但通过提供不同的参数列表来实现。例如,对于需要或不需要命名的猫咪,可以通过定义不同的构造方法来适应这种情况。方法重载不仅限于构造方法,还可以扩展普通方法的功能。 接下来,讨论了属性与修饰符在Java中的使用,包括`private`, `public`, `protected`等。`private`限制了成员变量只能在本类内部访问,而`public`则允许其他类调用。默认情况下,如果没有指定修饰符,变量被视为`private`。通过`get`和`set`方法,我们可以实现数据的封装,即隐藏对象的内部状态,仅提供对外的接口。 封装和继承是面向对象编程的重要原则。封装确保了对象的内部数据安全,每个对象只暴露必要的接口供外部操作。继承则是子类获取父类属性和方法的一种机制。子类可以继承父类的非`private`属性和行为,同时可以添加自定义的属性和方法,甚至重写父类的方法。`protected`修饰符使得子类能够访问父类的私有成员,但不会暴露给其他非子类。 文档还提及了父类与子类构造方法的关系,当子类实例化时,如果存在继承,会优先调用父类的无参构造方法,即使父类未显式定义。这意味着在`Bb = new B()`这样的实例化语句中,会先执行A类的默认无参构造函数,即使A类没有自定义构造函数。 这份文档为Java初学者和进阶开发者提供了全面的面向对象编程基础,包括构造方法、方法重载、访问修饰符、封装、继承以及构造方法的调用规则,有助于理解和应用这些核心设计模式和原则。

configuration written to .config # make[2]: Leaving directory '/home/lkuser/SDK/Hi3519DV500_SDK_V2.0.0.2/mini_sdk/boot/u-boot/u-boot-2022.07' pushd /home/lkuser/SDK/Hi3519DV500_SDK_V2.0.0.2/mini_sdk/boot/u-boot/u-boot-2022.07;make LLVM= CROSS_COMPILE=aarch64-v01c01-linux-gnu- 1>/dev/null;popd ~/SDK/Hi3519DV500_SDK_V2.0.0.2/mini_sdk/boot/u-boot/u-boot-2022.07 ~/SDK/Hi3519DV500_SDK_V2.0.0.2/mini_sdk/boot/u-boot ===================== WARNING ====================== This board does not use CONFIG_DM_ETH (Driver Model for Ethernet drivers). Please update the board to use CONFIG_DM_ETH before the v2020.07 release. Failure to update by the deadline may result in board removal. See doc/develop/driver-model/migration.rst for more info. ==================================================== ===================== WARNING ====================== This board does not use CONFIG_TIMER (Driver Model for Timer drivers). Please update the board to use CONFIG_TIMER before the v2023.01 release. Failure to update by the deadline may result in board removal. See doc/develop/driver-model/migration.rst for more info. ==================================================== ===================== WARNING ====================== This board does not use CONFIG_DM_SERIAL (Driver Model for Serial drivers). Please update the board to use CONFIG_DM_SERIAL before the v2023.04 release. Failure to update by the deadline may result in board removal. See doc/develop/driver-model/migration.rst for more info. ==================================================== ~/SDK/Hi3519DV500_SDK_V2.0.0.2/mini_sdk/boot/u-boot echo "gzip" gzip make -C /home/lkuser/SDK/Hi3519DV500_SDK_V2.0.0.2/mini_sdk/boot/u-boot/../gzip/ make[2]: Entering directory '/home/lkuser/SDK/Hi3519DV500_SDK_V2.0.0.2/mini_sdk/boot/u-boot' make[2]: *** /home/lkuser/SDK/Hi3519DV500_SDK_V2.0.0.2/mini_sdk/boot/u-boot/../gzip/: No such file or directory. Stop. make[2]: Leaving directory '/home/lkuser/SDK/Hi3519DV500_SDK_V2.0.0.2/mini_sdk/boot/u-boot' make[1]: *** [Makefile:51: all] Error 2 make[1]: Leaving directory '/home/lkuser/SDK/Hi3519DV500_SDK_V2.0.0.2/mini_sdk/boot/u-boot' make: *** [Makefile:287: boot] Error 2什么意思

2023-06-09 上传