远志

个人站

欢迎来到我的个人站~


java基础案例教程--第4章: 面向对象{下)

4.1 类的继承

4.1.1 什么是类的继承:

		在java中,类的继承是指在一个现有类的基础上去构造一个新的类,构造出来的心累被称为子类,现有类被称作为父类。
		子类会自动拥有父类所有可继承的属性和方法。
	使用extends关键子,来生命一个类继承另一个类。比如:
		class A{} //定义A类
		class B extends A{} //定义B类继承A类
	注意:
		>1.一个类只能有一个直接父类
		>2.多个类可以继承一个父类
		>3.多层继承是可以的。即一个类的父类可以再去继承另外的父类。

4.1.2 重写父类方法

	在子类中重写的方法需要和父类被重写的方法具有相同的方法名、参数列表以及返回值类型。

4.1.3 super关键字

	super关键字用于访问父类成员变量和成员方法。具体格式如下:
		super.成员变量
		super.成员方法
		super.成员方法(参数1,参数2,...)

4.2 final关键字

final关键字用于修饰类、变量和方法。 即无法改变或最终的含义。
有以下特性:
>>>final修饰的类不能被继承。
>>>final修饰的方法不能被子类重写
>>>final修饰的变量(成员变量和局部变量)是常量,只能赋值一次。

4.3 抽象类和接口

4.3.1 抽象类

	不包含方法体的方法是抽象方法,抽象方法必须使用abstract关键字来修饰。如:
		abstract void shout();//定义抽象方法shout()
	定义抽象类时需要注意: ----抽象类:包含抽象方法的类必须声明为抽象类;但抽象类可以不包含任何抽象方法。
										只需要使用abstract关键字来修饰。
		示例:
			abstract class Animal {
				abstract int shout();
			}
	抽象方法没有方法体,不可以被调用。如果想要调用,需要创建子类,在子类中将抽象类中的抽象方法进行实现。

4.3.2 接口

	什么是接口:如果一个抽象类中所有方法都是抽象的,则可以将这个类用另外一种方式来定义,即接口。
				接口是有常量和抽象方法组成的特殊类,是对抽象类的进一步抽象。
	语法格式:在定义接口时,需要使用interface关键字来声明,其语法格式如下:
				[public] interface 接口名 [extends 接口1,接口2.
					[public] [static] [final] 数据类型 常量名 = 常量值;
					[public] [abstract] 返回值 抽象方法名(参数列表);
				}
		注意:一个接口可以有多个父接口。
	调用接口中的方法:由于接口中的方法都是抽象方法,因此不能通过实例化对象的方式来调用接口中的方法。
					  此时需要定义一个类,并使用implements关键字实现接口中所有的方法。
		接口的实现类声明格式:
			[<修饰符>] class <类名> [extends <超类名>] [implements <接口1>,<接口2>,...]

4.4 多态

4.4.1 什么是多态:

	由于参数类型而导致执行效果各异的现象就是多态。继承是多态得以实现的基础。

4.4.2 对象的类型转换

	将子类对象当作父类类型使用的情况,称为向上转型。此时不能通过父类变量去调用子类中特有的方法。
	将父类对象当作子类类型使用的情况,称为向下转型。
	instanceof关键字用来判断一个对象是否为某个类(或接口)的实例或者子类实例。语法格式如下:
		对象(或对象引用变量) instanceof 类(或接口)

4.4.3 Object类

	Object类是类层次结构的跟类,每个类都直接或间接继承自该类,所有对象(包括数组)都实现了这个类的方法。 
	Object类中的常用方法如:
		equals()	只是其他某个对象是否与此对象相等
		getClass()	返回此Obeject的运行时类
		hashCode()	返回该对象的哈希值
		toString()	返回该对象的字符串表示

4.4.4 匿名内部类

	在类里卖弄定义的类称之为内部类(inner class)。内部类是外部类的一个成员。
	Java内部类分为成员内部类、方法内部类和匿名内部类等。

4.5 异常(Exception)

4.5.1 什么是异常

	Throwable:
		Error代表程序中产生的错误;Exception代表程序中产生的异常。
	Throwable常用方法:
		getMessage()	返回throwable的详细消息字符串
		printStackTrace()	将此throwable及其追踪输出至标准错误流
		printStackTrace(PrintStream s)	将此throwable及其追踪输出至指定的输出流

4.5.2 try…catch和finally

	异常捕获try...catch语句
		try{
			//程序代码块
			}catch(ExceptionType(Exception类及其子类) e){
				//对ExceptionType的处理
			}
	finally代码块
		通常在try...catch后使用finally代码块来完成必须做的事情。
		注意:当try...catch中执行到System.exit()语句时,finally代码块不会执行。

4.5.3 throws关键字

	利用throws关键字对外声明该方法有可能发生的异常,这样调查者在调用方法时,就明确地知道该方法有异常,
	并且必须在程序中对异常进行处理,否则编译无法通过。
	throws关键字声明抛出异常的语法格式如下:
		修饰符 返回值类型 方法名(参数1, 参数2...) throws ExceptionType1 [, ExceptionType2...]{
		}

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦