• Java面向对象三大特性


    封装、继承、多态。
    1、封装
      封装就是将对象的属性和行为特征包装到一个程序单元(即类)中,把实现细节隐藏起来,
    通过公用的方法来展现类对外提供的功能,提高了类的内聚性,降低了对象之间的耦合性。
    2、继承
      继承是对原有类的拓展,举例说明:我现在有一个Person类,但是我想要一个学生对象,
    他拥有Person类的所有属性和方法,此外他还有学号属性,及上课、写作业等一些方法,
    我可以创建一个Student类,但是我不想重复写Person类中已经有了的属性和方法,那么,
    此时我就可以用Student类继承Person类,Student类就拥有了Person类里的属性和方法了,
    我只需要在Student类里添加另外的新的属性和方法就可以了。Person类就成为父类,
    Student类就称为子类。父类和子类之间是一般和特殊的关系,子类是一种特殊的父类。
    此外,子类还可以通过重写来改变父类中的方法,重写可以改变方法的返回类型和访问权限,
    不能改变方法名称。
    3、多态
      多态是建立在继承的基础上的,是指子类类型的对象可以赋值给父类类型的引用变量,
    但运行时仍表现子类的行为特征。也就是说,同一种类型的对象执行同一个方法时可以
    表现出不同的行为特征。

    继承扩展知识

    Q:java中静态属性和和静态方法的继承问题 以及多态的实质。
    首先结论是:java中静态属性和和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏。

    静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成的,不需继承机制就可以调用如果子类里面定义了静态方法和属性,那么这时候父类的静态方法 或属性称之为“隐藏”,你如果想要调用父类的静态方法和属性,直接通过父类名.方法名或变量名完成,至于是否继承一说,子类是有继承静态方法和属性,但是 跟实例方法和属性不太一样,存在“隐藏”的这种情况。

    多态之所以能够实现是依赖于 继承 接口和 重写 、重载(继承和重写最为关键)。有了继承和重写就可以 实现父类的引用可以指向不同子类的对象。重写的功能是:“重写”后子类的优先级要高于父类的优先级,但是“隐藏”是没有这个优先级之分的。

    静态属性、静态方法和非静态的属性都可以被 继承 和 隐藏 而不能够被重写,因此不能实现多态,不能实现父类的引用可以指向不同子类的对象。 
    非静态的方法可以被继承和重写,因此可以实现多态。

    接口中的实现和类中的继承是两个不同的概念,因此不可以说实现接口的子类从接口那里继承了常量和方法

  • 相关阅读:
    JDBC编程获取数据库连接(mysql 8.0版本以上)
    opnet启动和debug模式提示warning:找不到目录
    打开Word时默认使标题下的内容折叠起来
    OPNET进程编译器无法编译:Compilation failed || VS2017或VS2019与opnet的安装注意
    IDEA中使用单元测试方法@Test
    C/C++字符数组、字符串、字符串指针、字符串指针数组的访问操作(一维数组)
    C/C++字符数组、字符串、字符串指针、字符串指针数组的声明和初始化操作(一维数组)
    安装C++集成开发环境CodeBlock(带MinGW)
    Express
    模块化
  • 原文地址:https://www.cnblogs.com/huangjinyong/p/9515614.html
Copyright © 2020-2023  润新知