Java笔记6--面向对象

调试程序

概念--Bug,Debug     手段--System.out.println();breakpoint(断点调试);

对象

两种编程思想的对比

面向过程--Procedure Oriented Programming,分析出解决问题的不走,然后用函数逐一实现每一步,然后依次调用这些函数。

面向对象编程--Object Oriented Progamming.分析出系统中应该包含哪些对象以及他们之间的关系,再用特定语法描述这些对象和关系。

Java中class-->JVM->对象

类和对象的关系

类是“设计图”,用于描述一批对象的信息,它是抽象的,不是具体的实例。

对象是具体的,根据类的描述,由JWM创建出来的一个实例,这个过程叫做实例化。

类是自定义的数据类型,通过这个类创建对象,实际上就是初始化这种类型的变量。

class Car{...}

void main(Stirng[] args){
     Car c=new Car();
}

类的定义

包的管理

为了便于类文件的管理,Java 中引入了包的概念 package,类的唯一性是要带包名的。

包的命名规范

  1. 英文字母小写
  2. 域名的倒序
  • 一个Java源文件中,只能有一个package语句,而且必须放置在Java源文件的第一行。
  • 在不同的包中,是可以定义相同类名的类的。因为一个类的唯一性是包含包名的,比如com.xxx.j96.oop.Demo1叫做类的全名。
  • 在实际的企业开发中,是不允许出现没有包的类。

包的使用

  • 使用 import 关键字将本类要使用的其他包中的类进行引入。

  • 使用ALT+/可以单个引入,也可以使用CTRL+SHIFT+O全部引入。

  • 如果要引入某个包下面的所有类,可以使用通配符*,例如,引入com.ntduduke.j96.oop.*,但是要注意通配符只能出现在最后。

  • 对于 java.lang 包中的类,系统会自动的默认引入,不需要使用 import。

类的描述

  • 属性

       对象的静态特征;用变量来描述,这样的变量叫成员变量

  • 行为

       对象的动态特征;用方法来描述,这样的方法叫成员方法

修饰符 class 类名{
      成员变量...
      成员方法...

}

定义成员变量

语法: 修饰符 数据类型 变量名=初始值;

类型初始值类型初始值
byte0float0.0F
short0double0.0
int0char'\u0000'(空字符)
long 0Lbooleanfalse
引用类型null

定义成员方法

语法:修饰符 返回类型 方法名(参数列表){...}

注意:成员方法不能被static关键字修饰;若成员方法没有返回值,则返回类型声明为void,此时方法体内无需return;

一个成员方法可以直接访问当前类中所有成员变量、成员方法;成员方法参数可以使基本数据类型,也可以是引用数据类型,包括自定义数据类型。

JVM内存模型

JVM启动时回想系统申请一块内存,它将这块内存划分为若干个子区域(堆、栈、方法区等),用以存储不同形式的数据

堆:存放引用类型的数据;这些数据之间是无序的;堆中数据是可以反复使用的;JVM会定期清理堆中的垃圾数据

栈:以方法为单元存储数据,这样的单元叫做方法栈帧;栈中存放的数据是有序的,遵循先进后出的规则;方法调用后,它占有的方法栈帧将会立刻释放。

对象的创建--new关键字

通过new关键字可以实现对象的实例化过程,实际上也就是对象的创建过程。

语法: 类名 对象名 =new 类名();

实例化对象的过程可以分为两个部分:声明对象 ;实例化对象(new)。

以Cat one =new Cat()为例:

声明对象:是在内存的""空间里开辟了一块空间,取名叫one,此时里面为空(null),并且对它的属性和方法的调用是不允许的。所以因为这样我们并不能像真正的对象那样使用它
实例化对象:是在内存的“”空间里开辟了一块空间,完成了对象相关信息的初始化操作。

当实例化对象时,栈内存和堆内存各自都开辟了空间并联系起来,所以类的属性都存在默认值(未进行初始化时)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值