面向对象基础

2019-08-29  本文已影响0人  聪明的小一休

面向对象编程包括:

面向对象思想:
OOA:把事务分解成对象,并赋予相应的属性与行为,通过多个对象的相互协调解决问题
OOD:对象间无先后顺序,共同作用才构成整个系统。只要设计出几个对象,让他们交互,就可以完成系统功能
面向对象编程思想实际就是一种运用对象,类,继承,封装,聚合,关联,消息,多态性等概念来构造系统的软件开发方法。

面向对象概念

抽象(abstract):根据具体问题概括共同的方面,属性与关系等,舍弃非本质特征。
对象:是系统中用来描述客观事物的一个实体。
类:是一组具有相同属性和行为的对象的抽象,类的作用是用来创建对象,对象是类的一个实例。
类和对象的关系:
抽象和具体的关系
类是创建对象的模板,对象是类的实例。
类是一个静态的概念,类本身不携带任何数据。当没有为类创建任何对象时,类本身不存在于内存空间中。
对象是一个动态的概念。每一个对象都存在着有别于其它对象的属于自己的独特的属性和行为。对象的属性可以随着它自己的行为而发生改变。

类的定义

语法格式:
[类修饰符] class 类名{
类的成员
}
类的成员:

编写规范:

属性和方法

属性有默认值,因此可以不用赋值就可以使用。


方法中可以直接使用属性名,对属性进行操作。

属性和局部变量对比

局部变量

对象的创建

什么是对象

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

对象的使用

点运算符

在类内的方法中,访问本类的属性和方法可以直接访问

创建对象原理

实例化对象的同时操作了栈内存和堆内存

栈stack:栈的存取速度比堆快,效率高。在栈内保存基本数据类型的局部变量和对象的引用值。
堆heap:堆可以保存那些对空间要求较大的变量。如对象的属性和数组的元素。在堆内存中开辟空间,只能通过内存分配操作符号new,凡是出现new的地方必定分配了一个堆内存。

创建匿名对象

垃圾回收机制

垃圾回收(Garbage Collection,GC),JDK7以后使用GI(Garbage First)机制:

对象会被回收的情况:
1.对象的引用赋值为null:Person p=new Person(); p=null;
2.使用的匿名对象:new Person().sayhello();
3.超出生命周期,如
for(int i=1;i<100;i++){
Person p=new Person();
}
每结束一次循环,变量p超出生命周期,对象变为垃圾。

构造方法

构造方法(构造器,Constructor)

创建对象
类名 对象名=new 构造方法();

构造器(构造方法/构造器,Constructor)特点:

构造方法作用:

用来完成对象的创建,即完成对象的实例化

构造方法的重载

可以跟普通方法一样重载。
构造器可以有多个,用户根据需要选择不同参数的构造器创建对象。
带参数的构造器,常用来对成员变量进行初始化。

构造方法的调用

封装

隐藏对象的属性和方法的实现细节,只公开对外接口
好处:

封装关键字


静态:static关键字

可以修饰的元素:

静态属性

类被载入时创建,只要类存在,static变量就存在

静态变量与非静态变量的关系
静态变量被所有的对象共享,在内存中只有一个副本,它当且仅当类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响

访问方式:

静态方法

不需实例化,可以直接访问,访问方式

静态语句块

一个类中由static关键字修饰的,不包含在任何方法体中的代码块

上一篇下一篇

猜你喜欢

热点阅读