Day12 面向对象
面向对象
- 前提须知:Java中想要创建对象,必须要有类的存在
- 类和对象的关系:
- 依赖关系:需要根据类,创建对象
- 数量关系:根据一个类,可以创建出多个对象
创建Student类的对象进行使用
- 创建对象的格式
类名 对象名=new 类名(); - 使用对象成员变量的格式
对象名 . 成员变量(); - 使用对象成员方法的格式
对象名 . 成员方法();
细节
- 打印对象名,可以看到对象的内存地址
com.stx.demo.Student@4554617c
全类名:包名+类名 - 成员变量就算没有赋值,也可以直接用,使用的是对象的默认值
this关键字
-
作用:
this可以调用本类成员(变量,方法)this.本类成员变量
this.本来成员方法(); -
this . 的省略规则:
本类成员方法:没有前提条件,this . 可以直接省略
本类成员变量:方法中没有出现重名的变量,this . 才可以省略 -
this介绍:代表当前类对象的引用(地址)
构造方法
- 格式:
- 方法名与类名相同,大小写也需要一致
- 没有返回值类型,连void也没有
- 没有具体的返回值,(不能有return语句带回结果数据)
- 构造方法的执行时机
- 在创建对象的时候,被调用执行
- 每创建一次对象,就会被执行一次构造方法
- 构造方法的作用
- 本质作用:创建对象
- 结合执行时机:可以创建对象的时候,给对象中的数据初始化
- 构造方法的注意事项
- 一个类中,没有编写构造方法,系统将会提供一个[默认的] [无参数]的构造方法
- 一个类中,如果手动编写了构造方法,系统将不会再提供那个默认的无参构造了
- 构造方法不允许手动调用
封装
权限修饰符:
- private:同一个类中使用
- (default):同一个类中,同一个包中使用
- protected:同一个类中,同一个包中,不同包的子类
- public:任意位置访问