介绍 : 面向对象是一种编程的指导思想 、万物皆对象
类和对象
- 前提 : Java当中想要创建对象, 需要先有类的存在
- 类的介绍 : 是一组相关属性和行为的集合, 将其看做为是对象的设计图
- 关系 :
- 依赖关系 : 需要根据类, 创建对象
- 数量关系 : 一对多的关系
-
成员变量和局部变量的区别
this关键字
情况 : 当局部变量和成员变量出现了重名, Java会根据就近原则, 优先使用局部变量.
class Student {
int num = 10;
public void show(){
int num = 20;
System.out.println(num);//20
System.out.println(this.num);//10
}
}
省略规则 : 成员方法: 没有前提条件, this.可以直接省略 成员变量: 变量名不涉及重名的情况, this.可以省略
this的介绍 :
构造方法 | 构造器
- 介绍 : 构建, 创造对象的时候, 要执行的方法
- 构造方法的格式 ```java
- 方法名和类名相同, 大小写也必须一致
- 没有返回值类型, 连void都没有
- 没有具体的返回值 (不能通过return语句返回结果)
```- 可以写return, return;
- 构造方法的执行时机 ```java
- 在创建对象的时候, 被系统自动调用执行
- 每创建一次对象, 就会执行一次构造方法 ```
-
封装思想 (重要)
介绍 : 隐藏实现细节, 仅对外暴露公共的访问方式
- 场景1 : 将属性抽取到类中, 是对象数据进行的封装
-
权限修饰符
修饰 : 成员变量, 成员方法
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() + "生日快乐"); } } }