06 面向对象

目录

1、设计对象并使用

1.1类和对象

1.2如何定义类

1.3  创建对象

1.4 注意事项

2、封装

3、成员变量和局部变量

4、this关键字

5、构造方法

6、标准的JavaBean类

7、对象内存图


1、设计对象并使用

1.1类和对象

类:是对象共同特征的描述
对象:真实存在的具体东西

1.2如何定义类

public class 类名{
    1、成员变量
    2、成员方法
    3、构造方法
    4、代码块
    5、内部类
}

1.3  创建对象

类名 对象名 = new 类名();

1.4 注意事项

  • 用来描述一类事物的类,专业叫做:Javabean类(在Javabean类中,不写main方法)
  • 编写main方法的类,叫做测试类。
  • 类名首字母建议大写,驼峰命名
  • 一个Java文件中可以有多个class类,且只能有一个public修饰,而且 public修饰的类名必须为代码文件名
  • 实际开发过程中,建议一个文件只定义一个类
  • 成员变量的完整定义格式: 修饰符 数据类型 变量名 = 初始化值;  (一般无需指定初始化值,存在默认值)

2、封装

  • 对象代表什么,就得封装对应的数据,并提供数据对应的行为
  • 降低学习成本
private关键字
  • 是一个权限修饰符
  • 可以修饰成员(成员变量和成员方法)
  • 被private修饰的成员只能在本类中才能访问

3、成员变量和局部变量

成员变量:类中方法外的变量
局部变量:方法里中的变量

4、this关键字

成员变量与局部变量重名时,使用变量会依据 就近原则。此时若想调用 成员变量,要用 this.修饰
this的本质:所在方法调用者的地址值
this的内存原理:

5、构造方法

构造方法(又叫构造器,构造函数)
public class Student{
    修饰符 类名(参数){
        方法体;    
    }
}
特点:
  • 方法名与类名相同,大小写也一致
  • 没有返回值类型(无void)
  • 没有具体的返回值(无return)
执行时机:
  • 创建对象时由虚拟机调用,不能手动调用构造方法
  • 每创建一次对象,就会调用一次构造方法
注意事项:
  • 若自己没定义构造方法,系统会自动创建一个 默认的无参的构造方法
  • 如果自己的定义了构造方法,系统不再提供默认的构造方法
  • 带参构造方法,和无参构造方法,两者方法名相同,但是参数不同,这叫做 构造方法的重载
  • 推荐无论是否使用,都要写 无参的构造方法带全部参数的构造方法

6、标准的JavaBean类

  • 类名要见名知意
  • 成员变量要使用private修饰
  • 提供至少两个构造方法
  • 成员方法,要为每一个成员变量提供对应的setXXX()和getXXX()
IDEA中可以下载ptg插件,使用ptg to JavaBean一键生成

7、对象内存图

一个对象的内存图
  1. 加载class文件(成员变量和成员方法进入方法区)
  2. 申明局部变量(栈内存中开辟的,存储对象的地址值)
  3. 在堆内存中开辟出一个空间(存储成员变量的值,成员方法的地址)
  4. 默认初始化(给成员变量赋默认的初值)
  5. 显示初始化(如果定义类的时候成员变量自带初值,赋给这个初值)
  6. 构造方法初始化
  7. 将堆内存中的地址值赋给左边的局部变量(将堆内存中的存储对象的地址值赋给栈内存中的局部变量)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平凡的蒟蒻99

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值