Java面向对象编程

Java面向对象学习的三条主线

  1. Java类及类的成员:属性、方法、构造器;代码块、内部类
  2. 面向对象的三大特征:封装性、继承性、多态性(抽象性)
  3. 其它关键字:this,super,static,final,abstract,interface,package,import
    在这里插入图片描述

Java语言的两个基本要素:类和对象

在这里插入图片描述
举个栗子:人把大象装进冰箱
在这里插入图片描述

属性=成员变量=field=域、
字段方法=成员方法=函数=method
创建类的对象=类的实例化=实例化类

类的语法格式

在这里插入图片描述

创建Java 自定义类的步骤

在这里插入图片描述

类和对象的使用(面向对象思想落地的实现)

  1. 创建类,设计类的成员
  2. 创建类的对象
  3. 通过““对象.属性”或“对象.方法”调用对象的结构
    在这里插入图片描述
    说明:如果创建了一个类的多个对象,对于类中定义的属性,每个对象都拥有各自的一套副本,且互不干扰。

类的访问机制

在这里插入图片描述

对象创建与使用中的内存解析

在这里插入图片描述
举例:下面这张图表示的是右上角的代码执行过程中内存的变化情况。
在这里插入图片描述

对象的创建与使用:匿名对象

我们 也可以不定义对象的句柄,而直接调用这个对象的方法。这样的对象叫做匿名对象
如:new Person().shout();
使用情况
如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象。
我们经常将匿名对象作为实参传递给一个 方法 调用。

##类的成员:属性(field)
在这里插入图片描述

变量的分类:成员变量与局部变量

在方法体外,类体内声明的变量称为成员变量。
在方法体内部声明的变量称为局部变量。
在这里插入图片描述
注意:二者在初始化值方面的异同
同:都有生命周期。
异:局部变量除形参外,均需显式初始化。(准确来说,是需要在方法体内调用该局部变量时,如果没有显示初始化,则编译就不会通过。)

属性(成员变量)VS 局部变量

在这里插入图片描述

1.相同点:
1.1定义变量的格式:数据类型变量名=变量值
1.2先声明,后使用
1.3变量都有其对应的作用域
2.不同点:
2.1在类中声明的位置的不同
属性:直接定义在类的一对{}内
局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量
2.2关于权限修饰符的不同
属性:可以在声明属性时,指明其权限,使用权限修饰符。
常用的权限修饰符:private、public、缺省、protected—>封装性目前,大家声明属性时,都使用缺省就可以了。
局部变量:不可以使用权限修饰符。
2.3默认初始化值的情况:
属性:类的属性,根据其类型,都有默认初始化值。
整型(byte、short、int、long):e浮点型(float、double):e.0字符型(char):e(或’\ueeee’)
布尔型(boolean):false引用数据类型(类、数组、接口):null
局部变量:没有默认初始化值。
意味着,我们在调用局部变量之前,一定要显式赋值。
特别地:形参在调用时,我们赋值即可。
2.4在内存中加载的位置:
属性:加载到堆空间中(非static)
局部变量:加载到栈空间

类的成员:方法(method)

什么是方法(method 、函数)

方法 是类或对象行为特征的抽象,用来完成某个功能操作。在某些语言中也称为函数或过程。
将功能封装为方法的目的是,可以实现代码重用,简化代码。
Java 里的方法不能独立存在,所有的方法必须定义在类 里。
在这里插入图片描述

方法的声明格式

在这里插入图片描述

方法的分类

按照是否有形参及返回值

在这里插入图片描述

方法的调用

方法通过方法名被调用,且只有被调用才会执行。

方法调用的过程分析

在这里插入图片描述

注意

方法被调用一次,就会执行一次
没有 具体返回值的情况,返回值类型用关键字 void 表示 ,那么方法体中可以不必使用 return 语句。如果使用,仅用来结束方法。
定义方法时,方法的结果应该返回给调用者,交由调用者处理 。
方法中只能调用方法或属性, 不可以在方法内部定义方法

对象数组的内存解析

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值