java面向对象的概念_java面向对象概念1

一、java面向对象学习的三条主线:

1、java类及类的成员:属性、方法、构造器;代码块、内部类

2、面向对象的三大特征:封装性、继承性、多态性、(抽象性)

3、其它关键字:this、super、static、final、abstract、interface、extend、package、import......

面向过程(pop)和面向对象(oop)

面向对象的两个要素:

类:对一类事物的描述,是抽象的、概念上的定义

对象:是实际存在的该类的每个个体,因而也称为实例(instance)

类 = 抽象概念的人 ;对象=实实在在的某个人

面向对象程序设计的重点是类的设计

类的设计,其实就是类的成员的设计

属性:对应类中的成员变量

行为:对应类中的成员方法

Field = 属性=成员变量=域、字段

Method = 行为=(成员)方法=函数

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

1.创建类,设计类的成员

2.创建类的对象

3.通过“对象.属性”或“对象.方法”调用对象的结构。

三、如果创建了一个类的多个对象,则每个对象都独立的拥有一套类的属性。(非static的)

意味着:如果我们修改一个对象的属性a,不会影响另外一个对象属性a的值。

25fb71da95357e1b113b145b7cb650d6.png

四、对象的内存解析:

d752ee974e53e03704b6bf569b826415.png

堆(Heap):此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。这一点在java虚拟机规范中的描述是:所有的对象实例以及数组都要在堆上分配。

栈:通常所说的栈(Stack),是指虚拟机栈。虚拟机栈用于存储局部变量等。局部变量表存放了编译期可知长度的各种基本数据类型(boolean、byte、char、short、int、float、long、double)、d对象引用(reference类型,它不等同与对象本身,是对象在堆内存的首地址)。方法执行完成,自动释放。

方法区(Method Area),用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。

类中属性的使用:

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

1.相同点:

1.1定义变量的格式:数据类型 变量名 = 变量值

1.2先声明,后使用

1.3变量都有其对应的作用域

2.不同点:

2.1在类中声明的位置的不同

属性:直接定义在类的一对{}内

局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量

2.2关于权限修饰符的不同

属性:可以在声明属性时,指明其权限,使用权限修饰符。

常用的权限修饰符:private、public、缺省(什么都没写)、protected       >>>封装性

局部变量:不可以使用权限修饰符

2.3默认初始化值得情况不同:

属性:类的属性,根据其类型,都有默认初始化值。

整型(byte、short、int、long):0

浮点型(float、double):0.0

字符型(char):0或‘\u0000’

布尔型(boolean ):false

引用数据类型(类、数组、接口):null

局部变量:没有默认初始化值。

意味着,我们在调用局部变量之前,一定要显式赋值。

特别的:形参在调用时,我们赋值即可。

2.4在内存中加载的位置不同:

属性:加载到堆空间中(非static)

局部变量:加载到栈空间中。

类中方法的声明和使用:

方法:描述类应该具有的功能。

1.方法的声明:权限修饰符 返回值类型 方法名(形参列表){

方法体

}注意:static、final、abstract来修饰的方法,后面随笔再说。

2.方法的一些说明:

2.1关于权限修饰符:默认方法的权限修饰符先都使用public

java规定方法的4种权限修饰符:private、public、缺省、protected

2.2返回值类型:有返回值  VS   没有返回值

2.2.1如果方法有返回值,则必须在方法声明时,指定返回值的类型。同时,方法中,需要使用return关键字来返回指定类型的变量或常量。

2.2.2如果方法没有返回值,则方法声明时,使用void来表示。通常,没有返回值的方法中,就不使用return。但是,如果使用的话,只能“return;”表示结束此方法的意思。

2.3方法名:属于标识符,遵循标识符的规范和规则,“见名知意”。

2.4参数列表:方法可以声明0个、1个、或者多个形参。

3.方法的使用中,可以调用当前类的属性或方法:

特殊的:方法A中又调用了方法A我们称为:递归方法。

注意:方法中不能定义方法!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值