JAVA学习总结 面向对象介绍

面向对象

(java)和面向过程(c)区别

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用;
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

面向对就是高度实物抽象化、面向过程是自顶向下的编程

在这里插入图片描述

对象

是用来描述客观事物的一个实体
类:具有相同属性和方法的一组对象的集合。类是对象的抽象,对象是类的具体实现。

是一个抽象的概念,无法直接使用其属性和功能。要使用该类,就必须要对类进行实例化。所谓实例化,就是用关键字new来创建该类的对象。有了对象之后,通过对象调用类中的属性(成员变量)和功能(成员方法)。

类是对象的抽象,对象是类的实例化

类包含属性和方法

属性

成员变量 VS 局部变量

相同点:
1.定义变量的格式一样:数据类型 变量名=变量值
2.先声明,后使用
3.变量都有其对应的作用域

不同点:
1.成员变量在类中声明的位置不同 直接定义在类的{}内
2.局部变量声明在方法内,方法形参,代码块内,构造器形参,构造器内部变量
3.关于权限修饰符的不同
成员变量:可以在声明属性时,指明其权限,使用权限修饰符。(常用权限修饰符。public private protected 缺省)
局部变量:不可以使用权限修饰符
4默认初始值
成员变量:根据其数据类型,都有默认初始化值
局部变量:没有默认初始化值,在调用局部变量之前,要为其赋值

方法

描述类应该具有的功能
方法声明:
权限修饰符 返回值类型 方法名(形参列表)

public     void/int    名称     可多个

static 特殊关键字 修饰方法 (不一定有)

权限修饰符 public

java规定的权限修饰符public(公共) private(私有) protected 缺省
体现结构被调用时的权限大小。

方法四个重点

1.方法重载:
同一个类 相同方法名
参数列表不同
如何确定具体调用哪个方法:方法名→参数列表

2.可变个数形态的方法

3.值传输机制:
如果参数是基本数据类型,实参赋值给形参的是真实储存的数据值
如果参数是引用数据类型,实参赋值给形参的是实参存储数据的地址值

返回值类型

有返回值 VS 无返回值
如果有返回值 必须在方法声明时,指定返回值类型,使用return关键字返回指定类型的变量或常量
无返回值,则生命是使用void来表示

4.递归方法:
一个方法体内调用它自己
方法递归包含一种隐式的循环,他会重复执行某段代码,但这种重复执行无须循环控制,递归一定要向已知方向递归,否则就会变成死循环。
例如
方法一:
循环求和1到100

int sum=0;
for(int i=0,i<=100;i++){
sun+=i;
}

方法二
递归

public int getSum(int n){
if(n==1){
return 1;
}else{
return n+getSum(n-1)
}
}

方法中不可定义方法

类和对象的使用
1.创建类,设计类的成员
2.创建类的对象
3.通过 对象.属性 或 对象.方法 调用对象的结构

内存解析

在这里插入图片描述
在内存区域中

虚拟机栈
用于存储局部变量

存放对象实例
方法区
存储以被虚拟机加载的类信息,常量,静态变量

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值