【Java】面向对象

本文详细探讨了Java的面向对象特性,包括封装、继承和多态。封装通过private成员变量和set/get方法确保数据安全,提供统一接口。继承允许代码复用,提高扩展性和维护性。多态为代码提供了更大的灵活性。此外,还介绍了高级特性,如static、final、abstract、接口、instanceof以及内部类的概念和用法,进一步阐述了Java面向对象的精髓。
摘要由CSDN通过智能技术生成

面向对象三大特征

  1. 面向对象的语言的三大特征

    1. 封装
    2. 继承
    3. 多态
  2. 封装

    1. 封装的含义

      • 封:把东西隐藏起来,java中把成员变量隐藏起来,通过方法提供访问成员变量的访问方式。(set和get方法)
      • 装:给外界提供统一的访问方式。 (成员变量和方法都放在类里。)‘
    2. java封装的实现

      1. 把所有成员变量都定义成 private类型 (只有该类中的能直接访问成员变量)
      2. 实现成员变量的set和get方法。

      所有一句话,就是把所有内容都是通过方法来访问。不用关心内部实现和定义。

    3. 封装的好处:

      1. 成员变量更安全
      2. 提供统一的接口,开发便捷
  3. 继承

    1. 继承:子类继承父类的方法和变量、同时扩展自己方法和变量。

      • 父类/基类/超类:已经存在类
      • 子类/派生类 :要新创建的类
    2. 继承的好处

      1. 在程序中可以复用定好的类,减少开发周期,提高代码复用性,维护性和扩展性
      2. 让类和类产生关系、为多态打基础
    3. 实现继承
      使用extends关键字

      <modifier>  class  <name>  [extends <superclass> ]
       {
             
               <declaration> *
       }
    4. 继承的使用

      1. 继承了父类中非私有的成员变量和一般方法,直接使用
      2. 对父类中私有的成员变量通过父类中的方法去访问
      3. 子类继承父类中没有参数的构造方法,在子类创建时自动调用父类中的无参构造方法。
        系统自动在子类中的构造方法中添加一个super();
    5. 继承的限制

      1. java的继承是单继承(所有子类都只有一个父类)
        java是多层继承,孙子也会继承爷爷的特性。
      2. 不能继承父类中的私有成员变量和方法。
      3. 继承要求父类中必须要有无参的构造方法。
  4. 访问控制 private >default(不写)>protected>public

    • private : 只能当前类的内部访问
    • default : 当前类的内部和同一个包中
    • protected:当前类的内部和同一个包中,不同包中的子类可以访问父类。
    • public :全局
  5. 重写(方法覆盖) (override)

    1. 重写:在子类中实现一个和父类中完全同名同类型的方法

    2. 重写的限制:子类中重写的方法,不能比父类中的被重写的方法访问权限更严格

    3. 重写了父类的方法,父类中被重写的方法消失了么?
      没有消失(java中的继承是一种不会减少的继承)

  6. super关键字

    1. super:可以访问父类中的方法和变量。
    2. super使用
      1. 父类中非私有的成员变量 super.成员变量名
      2. 父类中非私有的一般方法 super.方法名();
      3. 父类中的构造方法 super();
  7. 重载(overload)

    1. 重载: 在同一个类中,定义方法名相同,参数不同的方法。
    2. 一般方法重载
      构造方法重载

    3. 重载:实现了函数名的复用

    4. 重载的不同:参数类型不同或参数个数不同

      int add(int a,int b)
      int add3(int 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值