对象、类、方法

一、对象

1.抽象概念

是真实存在的具体东西,比如:某一款电脑,他有品牌、颜色,它能用来做什么

2.组成

对象是由属性和方法组成的

  • 属性: 静态特征,
    • 写法:与声明变量类似,直接写在类里,叫属性(成员变量),写在方法里叫变量(局部变量)
    • 默认值:系统给的默认值
  • 方法:动态特征或功能

3.语法

访问修饰符 返回值类型 方法名(参数列表){
//方法体
}:无参方法
public void 方法名(){
    //方法体
}

4.如何创建对象并使用对象的属性和方法

4.1创建对象

类名 对象名 = new 类名();
4.2引用对象成员

使用“.”进行以下操作

引用类的属性:对象名.属性
引用类的方法:对象名.方法名()

5.对象内存图

5.1步骤

1.加载class文件
2.申明局部变量
3.在堆内存中开辟空间
4.默认初始化
5.显示初始化
6.构造方法初始化
7.将堆内存中的地址值赋值给左边的局部变量

5.2内存图

5.2.1一个对象的内存图

在这里插入图片描述

5.2.2两个对象的内存图

在这里插入图片描述

5.2.3两个引用指向同一个对象

在这里插入图片描述

二、类

1.抽象概念

一个抽象的概念,具有同种功能的都可以称为类,比如:汽车类,交通工具类

2.概念

一组对象抽象成类,所以类是对象的类型,对象是类的实例
类定义了对象将有的属性和方法

  • 类是对象的集合,对象是类的实例
  • 类是对象的集合,对象是类的实例
  • 一个对象必属于某个类

3.语法

步骤:定义类名、编写类的属性、编写类的方法

public class  类名 {
        
    //定义属性部分,名词       
    属性1的类型 属性1;
    属性2的类型 属性2;
     …   
    属性n的类型 属性n;
        
     //定义方法部分,动词        
     方法1();   
     方法2(); 
     …   
     方法m();
}

4.定义类的注意事项

  • 用来描述一类事物的类,专业叫做:Javabean类
    在Javabean类中,是不写main方法的
  • 在以前,编写main方法的类,叫做测试类
    我们可以在测试类中创建JavaBean类的对象并进行赋值使用
  • 类名首字母建议大写
  • 实际开发中建议一个文件定义一个class类
  • 成员变量的完整定义格式:修饰符 数据类型 变量名称=初始化值,一般无需指定初始化值,有默认值

三、方法

1.概念

方法是程序中最小的执行单元。

2.使用场景

重复的代码、具有独立功能的代码可以抽取到方法中

3.好处

  • 可以提高代码的复用性
  • 可以提高代码的可维护性

4.语法

访问修饰符 返回值类型 方法名(参数列表){
    方法体
}

4.1[访问修饰符]

指该方法允许被访问得权限范围。

  • public : 对所有类可见。使用对象:类、接口、变量、方法
  • protected : 对同包可见、对不同包子类可见。使用对象:变量、方法。
    • 注意:不能修饰类(外部类)。
  • default : 同包可见。使用对象:类、接口、变量、方法。
  • private : 在同一类内可见。使用对象:变量、方法。
    • 注意:不能修饰类(外部类)在这里插入图片描述

4.2返回值类型

如果方法不返回任何值,它应该声明为void类型
如果有返回值,则必须与所说明得类型相匹配,使用return语句返回值
返回值只能有0或者1个

4.3<方法名>

定义的方法名字,合法的标识符。
4.4[形式参数列表]
可选,传送给方法的参数列表,各参数间以逗号分隔。

  • 多个参数
    • 形参:声明方法的时候带的参数
    • 实参:调用方法的时候给的参数
    • 实参和形参的数据类型、数量、顺序一一对应
  • 数组
    • 数据是同数据类型
  • 对象
    • 可以将多个相关的信息封装成对象,作为参数传递,避免方法有太多的参数

5.方法的调用

1.在同类里,直接用
2.在不同类里,必须先创建对象,然后通过对象.进行调用
在这里插入图片描述

3.调用有参方法 对象名.方法名(实参);

四、方法内存原理

1.方法调用的基本内存原理

在这里插入图片描述

多个方法调用时,方法在栈内存中的顺序是:先进后出
在这里插入图片描述

2.方法传递内存原理

2.1基本数据类型

在这里插入图片描述

2.2引用数据类型

在这里插入图片描述

2.3从内存的角度解释

  • 基本数据类型:数据值是存储在自己的空间中
  • 特点:赋值给其他变量,也是赋的真实的值
  • 引用数据类型:数据值是存储在其他空间中,自己空间中存储的是地址值
  • 特点:赋值给其他变量,赋的地址值

3.方法的值传递

3.1基础数据类型

传递基本数据类型时,传递的是真实的数据类型
在这里插入图片描述

3.2引用数据类型

传递引用数据类型时,传递的是地址值,形参的改变,影响实际参数的值在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值