介绍 : 面向对象是一种编程的指导思想 、万物皆对象

类和对象

  • 前提 : Java当中想要创建对象, 需要先有类的存在
  • 类的介绍 : 是一组相关属性和行为的集合, 将其看做为是对象的设计图
  • 关系 :
    • 依赖关系 : 需要根据类, 创建对象
    • 数量关系 : 一对多的关系
  • 类的组成 :属性、行为

    成员变量和局部变量的区别

    this关键字

  • 情况 : 当局部变量和成员变量出现了重名, Java会根据就近原则, 优先使用局部变量.

    1. class Student {
    2. int num = 10;
    3. public void show(){
    4. int num = 20;
    5. System.out.println(num);//20
    6. System.out.println(this.num);//10
    7. }
    8. }
    省略规则 :
    成员方法: 没有前提条件, this.可以直接省略
    成员变量: 变量名不涉及重名的情况, this.可以省略
    
  • this的介绍 :

    • 代表当前类对象的引用 (地址)
    • 哪一个对象调用的方法, 方法中的this, 就代表的是哪一个对象
      stu1.show() ---> this ---> stu1的地址
      sut2.show() ---> this ---> stu2的地址
      

      构造方法

  • 构造方法 | 构造器

    • 介绍 : 构建, 创造对象的时候, 要执行的方法
  • 构造方法的格式 ```java
  1. 方法名和类名相同, 大小写也必须一致
  2. 没有返回值类型, 连void都没有
  3. 没有具体的返回值 (不能通过return语句返回结果)
     - 可以写return,  return;
    
    ```
  • 构造方法的执行时机 ```java
  1. 在创建对象的时候, 被系统自动调用执行
  2. 每创建一次对象, 就会执行一次构造方法 ```
  • 构造方法的作用 : 初始化类的对象并返回对象的地址。

    封装思想 (重要)

  • 介绍 : 隐藏实现细节, 仅对外暴露公共的访问方式

  • 场景1 : 将属性抽取到类中, 是对象数据进行的封装
  • 场景 2 : 将代码抽取到方法中, 是对代码功能进行了封装

    权限修饰符

  • 修饰 : 成员变量, 成员方法

    private : 同一个类中
    (default) : 同一个类中, 同一个包中
    protected : 就业班讲
    public :  任意位置
    

    标准JavaBean

  • 成员变量全部 private 私有

  • 提供空参 \ 带参构造方法
  • 提供对应的 setXxx 和 getXxx 方法

    package com.itheima.test;
    public class StudentTest {
      public static void main(String[] args) {
          // 1. 空参构造创建对象, setXxx完成赋值
          Student stu1 = new Student();
          stu1.setName("张三");
          stu1.setAge(23);
          System.out.println(stu1.getName() + "---" + stu1.getAge());
    
          // 2. 带参构造创建对象, 在创建对象的时候, 直接给成员变量赋值
          Student stu2 = new Student("李四", 24);
          System.out.println(stu2.getName() + "---" + stu2.getAge());
    
          // 根据李四的年龄, 决定在控制台打印多少次生日快乐
          for(int i = 1; i <= stu2.getAge(); i++){
              System.out.println(stu2.getName() + "生日快乐");
          }
      }
    }