JAVAEE细细看 初级 07 - 类、对象

本文深入讲解面向对象编程的核心概念,包括类与对象的区别、成员变量与局部变量的作用范围及默认值差异、构造方法的使用、封装特性以及面向对象的三大特征。同时,介绍了如何创建符合JavaBean标准的类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类、对象

1. 基本含义

面向过程:当需要实现一个功能的时候,每一个具体的步骤都亲力亲为,详 细处理每一个细节
面向对象: 当需要实现一个动能的时候,不关心具体的步骤,而是找一个 已经具有该功能的人,来帮我做事

成员变量(属性):
String name;
int age;
成员方法(行为):
public void eat() {}
public void sleep() {}
public void study() {}
注意事项:
1.成员变量直接定义在类中,在方法外边
2.成员方法不要写static关键字修饰

2. 类的使用

1.导包
对于和当前类属于同一个包的情况,可以省略导包语句
2.创建
类名称 对象名 = new 类名称();
3.使用
使用成员变量: 对象名.属性名
使用成员方法:对象名.方法名(参数)

3. 栈和堆的变化

java一个生命周期内的压栈和出栈,黑X表示出栈
例如:
a. main方法被调用,main被压栈到底部
b. call被调用,call也被压栈,call调用结束,call出栈
c. sendMessage()被压栈,完成后出栈
d. main运行到最后,main出栈
在这里插入图片描述
一个类,new两个对象在生命周期内的内存变量
在这里插入图片描述
两个引用指向同一个对象的内存图
在这里插入图片描述
使用对象类型作为方法的参数
在这里插入图片描述

4. 成员变量和局部变量区别

a. 定义的位置不一样
局部变量:在方法的内部
成员变量:在方法的外部,直接写在类中

b. 作用范围不一样
局部变量:只有方法当中才可以使用,出了方法就不能再用
成员变量:整个类全部都可以通用

c. 默认值不一样
局部变量:没有默认值,如果想要使用,必须手动进行赋值,不然编译报错
成员变量:如果没有赋值,会有默认值,规则和数组相同

d. 内存的位置不同
局部变量:位于栈内存
成员变量:位于堆内存

e. 生命周期不一样
局部变量:随着方法的进栈而诞生,随着方法的出栈而消失
成员变量:随着对象的创建而诞生,随着对象被垃圾回收而消失

5. 面向对象的三大特征:封装、继承、多态

封装性在java中的提现:
a. 方法是一种封装
b. 关键字private也是一种封装
封装就是将一些袭击信息隐藏起来,对外界不可见

this的释义和使用
当方法的局部变量和类的成员变量重名的时候,根据“就近原则”,有限使用局部变量。
如果需要访问本类当中的成员变量,需要使用格式:
this.成员变量

构造方法
构造方法是专门用来创建对象的方法,当我们通过关键字类创建对象时,其实就是在调用构造方法。
格式
public 类名称(参数类型 参数名称) {
方法体
}
注意事项:

  1. 构造方法的名称必须和所在的类名称完全一致,就连大小写也要一样
  2. 构造方法不能写返回值类型,连void都不写
  3. 构造方法不能return一个具体返回值
  4. 如果没有编写任何的构造的方法,那么编译器将会默认赠送一个构造方法,没有差数、方法体什么事情都不做
public Student() {}
  1. 一旦编写了至少一个都早方法,那么编译器将不再赠送
6. 一个标准的类 包含以下:
  1. 所有的成员变量都要使用private关键字修饰
  2. 为每一个成员变量编写一对儿Getter/Setter方法
  3. 编写一个无参数的构造方法
  4. 编写一个有参数的构造方法
    这样的标准类叫做 Java Bean
    Code->Generate -> Getter/Setter 可以快速生成get set方法
    Code->Generate -> Constructor 可以快速生成构造方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值