# 类和对象的关系

  • 对象是具体的,实实在在存在的,是现实生活中看得见也摸得着的的个体。
  • 类是抽象的,是现实中很多有共同特性的事物的统称。
  • 使用对象时需要先实例化,再为其属性赋值,最后调用方法。

# 类的构造方法

# 构造方法的作用:实现局部变量为全局变量(简化了对象的赋值操作)
  1. 构造方法一般使用 public 修饰。在单例时会用到 private
  2. 构造函数没有返回值,也不能使用 void 修饰。
  3. 构造方法名必须和类名一致。
  4. 一个类在没有任何构造方法的时候,Java 虚拟机会提供一个无参的默认构造函数,但是一旦设置了构造函数,Java 虚拟机将不再提供任何构造方法了,因此一般在自己定义了构造方法的时候,都会添加一条无参的构造函数。

# this 关键字

  • 在构造方法中使用 this 就会,将局部变量的值赋给全局变量,如果没有 this 就会更加系统的就近原则进行赋值。
  • this 在构造方法中就代表当前对象。
  • 可以通过 this(参数)进行调用本类的其他构造方法,但是只能放在调用方法的第一行,因此一个构造方法中只能调用一次其他构造方法。

# toString () 方法和 equals () 方法

  • toString () 方法: 直接打印某个对象时,其实就是调用对象的 toString 方法。因此我经常会在类中重写 toString () 方法,可以简化对对象属性的打印输出。在没有重写的情况下调用父类的 toString () 方法,在没有继承的情况下就调用 Object 类的 toSring 方法,其返回值为: getClass().getName() + "@" + Integer.toHexString(hashCode());

  • equals () 方法: 用于比较两个对象是否为同一个对象,在实际中认为是同一个对象的规则不一样,因此该方法会经常按照我们的对比规则重写。在没有重写的情况下,会调用父类的 equals () 方法,如果没有继承的情况下回调用 Object 类的 equals () 方法,其返回值为: (this == obj) , 而使用 == 对比的是 hashcode。

# Java 中的访问修饰符

  • public: 表示公共的访问修饰符,用 public 修饰的资源可以在任何位置访问,即任何位置有效
  • protected: 受保护的,在同一个包下都可以使用;但是在不同包下,只能在父子类继承中使用。
  • 默认: 不使用任访问何修饰符修饰,只能同一个包下访问,计包内有效
  • private: 私有的,表示只有自己能用,也就是本类有效

# 面向对象

封装: 将内部实现进行 “黑处理”,也就是使用者不知道其内部实现,也不需要了解其内部实现,只需要按照封装者提供的使用方法便能完成功能。类中的 get 和 set 方法就是一种封装。

继承: 通过继承子类可以获得父类的一些属性和方法,使得子类拥有父类的能力。提高了代码的复用性

  • 在 Java 中继承无处不在,没有使用 extends 继承的类会默认继承 Object 类,因此 Object 是顶级类。
  • Java 中的继承是单根继承,即一个类只有一个父类。
  • 不能继承父类中被 private 修饰的变量、方法,父类的构造方法也不能被继承。
  • 子类是可以调用父类的构造方法的,使用 super 关键字, super([参数列表]) 即可调用父类构造方法,当然也可以通过 super.属性名 访问被 public 和 protected 修饰的属性值,可以通过 super 访问父类中被重写的方法 ()。

多态: 一个同名的方法,当传入的参数列表不一样时,体现出不一样的形态,即称为多态,方法重载和方法重写就是多态的一种表现形式。

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Lemonman 微信支付

微信支付

Lemonman 支付宝

支付宝