面向对象概念总结.docx
文本预览下载声明
面向对象概念总结
面向对象核心:重用
类:类的目的重复声明一组数据。用类创建的一组数据称为对象。-实际上是根据对象设计的类:由对象抽象出的类。
类是模子,确定对象将会拥有的特征(属性)和行为(方法)。类是对象的类型。
对象:属性——对象拥有的各种特征
方法——对象执行的操作
类是抽象的概念,仅是模板;对象是一个具体的实体。
类的重要性:所有Java程序都是以类class为组织单元
2.对象:能够软件中用于表示一个客观存在的物体的一组数据。
计算机的对象用一组数据来表示。
3.属性:是对象的一个数据分量。
-在类中声明,称为类的**成员变量**。
-在程序运行期间,这些变量属于每个对象,又称为**对象的属性**。
4.变量
成员变量和局部变量的区别:
a.作用域不同
b.初始值不同
c.同一方法中,局部变量不可重名
不同方法中,局部变量可重名
成员变量不可重名
d.两类变量重名时,局部变量有更高优先级
4.方法:
-在类中声明,被全体对象共享(复用)的计算过程或算法。复用了算法,即复用了计算过程。
-好处:可以定义一份算法,被全体对象使用。
5.引用类型变量
Java中除了基本类型的变量,其余的都是引用类型的变量!!!
1)引用类型太多太多
-String str
-Integer Long Double//什么时候用的???
-int[] ary
-Scanner console
2)“类”类型和数组类型声明的变量都是引用类型
3)引用类型特点:
-引用类型的值是被引用对象的堆地址值。
-引用类型通过地址间接引用了对象
-java中的引用类型变量用于操作数据(引用类型变量的作用)
-两个引用可以引用同一个对象
-两个变量的地址值一样
-一个引用类型变量,只能存储一个对象的地址
-引用变量可以赋值为null,表示不引用任意对象
-此时如果调用了其属性/元素/方法将出现空指针异常。(空指针异常的两个条件)
为什么使用引用类型变量:相当于对象的标签,用来区分不同的对象。
注意:变量本身不是对象,只是引用了对象,所以叫引用类型变量,一个变量只能引用一个对象,但是一个对象可以被多个变量所引用。
一个变量能够先后引用不同的对象,但是同一时间只能引用一个对象。
注意:同一个包里不能有同名类。
6.内存管理
1)局部变量在栈中分配。//java中方法中的变量都是局部变量???
2)对象在堆中分配,含对象的属性。
new 的操作都在堆里!!new运算的返回值就是一个地址,是对象的首地址。
栈:运行时的局部变量
堆:运行时new操作分配的内存空间都在堆中
3)方法区:装的是算法,装的是运行时的代码
-方法区中可以创建多个对象,但是方法区中只加载一次类文件
空指针异常(有三个经典案例可以看)
1)是java应用程序最常见异常
2)引用类型为null,并且访问了其属性/元素/方法时 发生空指针异常
-引用为null
-访问 属性/元素/方法
3) 解决办法
a.使变量在访问 属性/方法之前,合理赋值
b.在调用方法之前,检查变量是否为null,避免调用null引用的属性/方法
-if(c5!=null){
int n=c5.row;
}
8.对象属性的默认初始化
1)对象的属性自动初始化
2)其值为“零”值
-byte short int long:0
-float double :0.0
-boolean:false
-char:编号为0的字符,不能随便输出此值
-引用类型:null
3) 构造器(构造方法):封装属性初始化过程,封装以后就可以被反复重用。简化了对象的创建过程。
提示:构造器用于**重用**对象属性的初始化过程。
构造器语法:
在类中定义
其构造器名与类名完全一致//判断是否是一个构造器的规则!!!
-大小写要一致
3.不能定义返回值,也不能写void
-如果定义了返回值是普通方法
-其目的是初始化属性,不是计算过程,不是方法!!!
9. 默认构造器(默认构造方法)
每个类都有构造方法!!!
2)如果源码中不定义构造器,则编译器自动添加默认构造器(一个无参数的构造器)。
3)如果类中定义了构造器,则java编译器不再添加默认构造器。
构造方法的重载:
为了使用方便,可以对一个类定义多个构造方法。
10. this()(有案例)
构造器中使用this()关键字:功能:调用本类的其他构造器
在一个构造器中调用本类其他构造器,目的是实现构造器之间的逻辑复用,一个构造器重复使用另外一个构造器的属性初始化逻辑,减少了当前构造器的代码。
提示:this()好处
显示全部