第三章知识点总结

第三章:对象和类

类中的属性和方法

1. 属性描述实体可以量化的特征

2. 使用方法描述实体具体的行为

对象同时具有属性和方法两项特性

对象的属性和方法通常被封装在一起,共同体现事物的特性,二者相辅相成,不能分割。

什么是类:类是摸子,确定对象会拥有的特征(属性)和行为(方法)

面向对象的优点:

1. 便于程序模拟现实世界中的实体

2. 隐藏细节

3. 可重用

如何创建一个对象?

使用关键字new

类和对象的区别:

a) 类使用来组织代码

b) 对象使用来封装数据

c) 类是对象的模板。

d) 对象是类的实例化。

e) 类是一个抽象的概念。

f)对象是一个具体的实例

如何定义一个类,类的属性和方法?

使用关键字:class 

toString()方法的有点是什么?

不用显示调用,直接可以使用对象。

包:

包的好处

1.利于查找

2.利于管理

3.避免类重名

如何声明包?

关键字:package com.sxt.***;

如何导入包?

关键字:import  java.util.Date; java.util.Scanner;

封装

封装就是隐藏实现细节

1. 将属性私有化,提供供有方法访问私有属性

2. 通过这些公有方法访问私有属性

封装的好处:

增加了数据访问限制,增强了程序的可维护性

构造方法:负责对象成员的初始化工作,为实例变量赋予合适的初始值

构造方法满足语法规则:

1. 方法名与类名相同

2. 没有返回类型

3. 使用关键字new来调用构造方法

方法重载:方法名相同,参数类型不同

Java单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例

单例模式的特点:

1. 一个类只能有一个实例

2. 自己创建这个实例

3. 整个系统都要使用这个实例

优点:

1. 能避免实例重复创建

2. 应用于避免存在多个实例引起的程序逻辑错误的场合

3. 较节约内存

继承

继承的概念:子类具有父类的一般特性(属性和行为),以及自身的特殊的特性

使用关键字extends来定义继承

使用继承的优点:

1.可以实现代码的复用

2.可维护性

方法重写:子类和父类的方法具有相同的名称、参数列表、返回类型

多态:具有表现多种形态的能力的特征

如何实现多态

1. 子类重写父类的方法

2. 要有继承

3. 父类引用指向子类对象

多态的好处:程序的可扩展性及维护性增强

抽象类

什么是抽象类:是一种模版模式,抽象类为所有子类提供了一个通用模版,子类可以在这个模版上进行扩展。

抽象方法:只有声明没有方法体

抽象方法的意义:方法的设计和实现分离了

抽象类的定义:使用关键字abstract

抽象类的优点:可以避免子类设计的随意性;

抽象类的要点:

1. 有抽象方法的类只能定义抽象类;

2. 抽象类不能实例化,既不能用new来实例化抽象类;

3. 抽象类可以包含属性、方法、构造方法。但是构造方法不能用new来实例,只能用来被子类调用。

4. 抽象类只能用来被继承。

5. 抽象方法被子类实现。

接口

接口的定义:

1. 是一个特殊的抽象类

2. 接口中只有抽象方法和常量

3. 关键字interface

4. 接口就是定义规范

接口定义格式:

【访问修饰符】 interface 接口名 [extends 父接口1,父接口2,...]{常量定义总是:public static final方法定义总是:public abstract}

如何使用接口:

1. 子类通过implements实现接口中的规范

2. 接口不能创建实例,但是可用于申明引用变量类型

3. 一个类实现了接口,必须实现接口中所有的方法,并且这些方法只能是public

4. 接口支持多继承

异常

Java异常是Java提供的用于处理程序中错误的一种机制。

为什么需要异常处理机制:减少程序关注的重点,降低程序负载度

1.Java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息并将被提交给Java运行时系统,这个过程称为抛出异常。

2.java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获异常

异常分类

 

Error:称为错误,由java虚拟机生成并抛出,包括动态链接失败、虚拟机错误等,程序对其不做处理

Exception:所有异常类的父类,其子类对应了各种各样可能出现的异常事件,一般需要用户显示的声明或捕获

Runtime Exception:一类特殊的异常,如被 0 除、数组下标超范围等,其产生比较频繁,处理麻烦,如果显式的声明或捕获将会对程序可读性和运行效率影响很大。因此由系统自动检测并将它们交给缺省的异常处理程序(用户可不必对其处理)。 try语句try {}语句指定了一段代码,该段代码就是一次捕获并处理例外的范围。在执行过程中,该段代码可能会产生并抛出一种或几种类型的异常对象,它后面的catch语句要分别对 这些异常做相应的处理。如果没有例外产生,所有的catch代码段都被略过不执行。 catch语句catch语句块中是对异常进行处理的代码,每个try语句块可以伴随一个或多个catch语句,用于处理可能产生的不同类型的异常对象。catch中声明的异常对象(catchSomeException e))封装了异常事件发生的信息,在catch语句块中可以使用这个对象的一些方法获取这些信息。getMessage( )  方法,用来得到有关异常事件的信息。printStackTrace( )  方法,用来跟踪异常事件发生时执行  堆栈的内容。 finally 语句finally语句为异常处理提供一个统一的出口,使得在控制流程转到程序的其他部分以前,能够对程序 的状态作统一的管理。无论try所指定的程序块中是否抛出例外,finally所指定的代码都要被执行。通常在finally语句中可以进行资源的清除工作,如:1.关闭打开的文件2.删除临时文件throwthrows的区别

Throw用于主动产生并抛出异常

Throws用于方法定义时声明可能抛出的异常

异常捕获处理:

应该先将小异常放在上面,先逮小在逮大

finalize 关键字:

一个类重写了Objectfinalize,使用System.gc();对该对象进行回收

finalize()在什么时候被调用

1.所有对象被Garbage Collection时自动调用,比如运行System.gc()的时候.2.程序退出时为每个对象调用一次finalize方法。3.显式的调用finalize方法final

final修饰的方法不能够被子类重写

final不仅可以修饰类,还可以修饰变量,被final修饰的变量就是一个常量,只能赋值一次。

final修饰的类不能被继承

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值