这篇文章上次修改于 455 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

什么是对象

  • 万物皆对象、客观存在的事物
  • 对象:用来描述客观事物的一个实体,有一组属性和方法构成

什么是面向对象

  • 人关注对象
  • 人关注事物信息

  • 类是模子,确定对象将会拥有的特征(属性)和行为(方法)
  • 类的特点

    • 类是对象的类型
    • 具有相同属性和方法的一组对象的集合

什么是对象的属性和方法

  • 属性:对象具有的各种静态特征
  • “有什么”
  • 方法:对象具有各种动态行为
  • “能做什么”

类和对象的关系

  • 类是抽象的概念,仅仅是模板
  • 对象是一个你能看得到、摸得着得具体实体。
  • 类是对象的类型
  • 对象是特定类型的数据
  • 具体开发工程中,先定义类再实例化对象

单一职责原则

  • 单一职责原则,也称为单一功能原则
  • 英文:Single Responsibilities Principle 缩写为:SRP
  • 是面向对象设计中的一个重要原则
  • 一个类,应该有且只有一个引起变化的原因
  • 在程序设计中,尽量把不同的职责,放在不同的职责中,即把不同的变化原因,封装到不同的类中。

对象实例化

对象实例化.png

  • 对象必须被实例化之后才能使用
  • 对象间的引用传递,实际上传递的是堆内存空间的使用权

构造方法

  1. 构造方法与类同名且没有返回值
  2. 构造方法的语句格式
  3. 只能在对象实例化的时候调用
public 构造方法名(){
    //初始化代码
}
  1. 当没有指定构造方法时,系统会自动添加无参的构造方法
  2. 当有指定构造方法,无论是有参、无参的构造方法,都不会自动添加无参的构造方法
  3. 一个类中可以有多个构造方法

this关键字

  • this:当前对象的默认引用
  • this的使用

    • 调用成员变量,解决成员属性和局部变量同名冲突
    • 调用成员方法
//成员属性:昵称、年龄、体重、品种

String name;//昵称
int month;//年龄
public Cat(String name){
    this.name=name;
    System.out.println("我是单参构造");
}
//成员方法:跑动、吃东西
//跑动的方法
public void run(){
    this.eat();
    System.out.println("小猫快跑");
}
//吃东西的方法
public void eat(){
    System.out.println("小猫吃鱼");
}
  • 调用重载的构造方法

    • 调用重载的构造方法
public Cat(){
    System.out.println("我是无参构造");
}