一、面向对象的概念
面向对象的特点
主要可以概括为封装性、继承性和多态性。
1.封装性
封装是面向对象编程的核心思想,将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其实现细节,这就是封装思想。采用封装思想保证了类的内部数据结构的完整性,使用类的用户不能轻易地操作类的数据结构,只能执行类允许公开的数据,这样子避免了外部操作和内部数据影响,提高了程序的可维护性。
2.继承性
(1)继承是Java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
(2)继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
3.多态性
(1)多态是同一个行为具有多个不同表现形式或形态的能力。
(2)多态就是同一个接口,使用不同的实例而执行不同操作。
二、类的定义
1.对象
在面向对象的思想中,最核心的就是对象,为了在程序中创建对象,首先需要定义一个类,类是对象的抽象,它用于描述一组对象的共同特征和行为。类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也被称作属性,成员方法用于描述对象的行为,可简称为方法。
对象通常以两个部分组成,动态部分和静态部分
这些部分统统称为属性
探讨对象的属性来观察,了解对象
2.类
将属性和行为封装起来,构成一个类
类的实质就是封装的对象属性和行为的载体,而对象则是类抽象出来的实例
3.封装
把对象的属性和行为封装起来,其载体就是类
类通常隐藏其实现的细节
4.继承
类与类之间具同样具有关系,这种关系被称为关联。关联主要描述两个类之间的一般二元关系。
当处理一个问题时,可以将一些有用的类保留下来,当遇到同样的问题时拿来复用,可以减少使用过程中出现的错误的概率。
继承主要利用对象之间的共有属性。
5.多态
将父类现象应用于子类的特征就是多态。
6.成员变量
在Java中对象属性称为成员变量,成员变量为任意类型
7.成员方法
一个成员方法可以有参数,这个参数可以是对象,也可以是基本数据类型的变量,同时成员方法有返回值和不返回任何值的选择,如果方法需要返回值,可以在方法体中使用return关键字,使用这个关键字后,方法的执行将被终止。
8.权限修饰符
Java的权限修饰符主要包括private,public和protected
9.this关键字
this关键字表示本类当前的对象,当前对象不是某个new出来的实体对象,而是当前真在编辑的类。this关键字只能在本类中使用。
其实,this除了可以调用成员变量和成员方法,还可以作为方法的返回值,如:
public Book getBook(){
return this;
}
10.类的构造法
在类中,除成员方法外,还存在一种特殊类型的方法,那就是构造方法,构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的,当类实例化一个对象时,类都会自动调用构造方法。
构造方法的特点如下:
构造方法没有返回值
构造方法的名称要与本类的名称相同
在类中除了成员方法外还有一个特殊类型的方法,那就是构造方法。
11.静态变量和静态方法
在介绍静态变量和静态方法前,首先需要介绍static关键字,因为由static修饰的变量和方法称为静态变量和静态方法。
被声明为static的变量和方法被称为静态成员,静态成员属于类所有,区别于个别对象,可以在本类或其他类使用类名和“.”运算符调用静态成员
静态成员与静态方法的作用通常为了提供共享数据或方法,尽管使用这种方式调用静态成员比较方便,但静态成员同样遵循public,private和protected修饰符的约束
如果在执行类中,希望先执行类的初始化操作,可以使用static定义一个静态区域,这块区域也称为静态代码块,当类文件被执行时,会首先执行static块中的程序,并且只会执行一次
12.类的主方法
主方法是类的入口点,它定义了程序从何处开始,主方法提供对程序流向的控制,java编译器通过主方法来执行程
主方法具有以下特性:
主方法是静态的,所以如果要直接在主方法中调用其他方法,则该方法必须也是静态的
主方法没有返回值
主方法的形参为数组,其中,args[0]~args[n]分别代表程序的第一个参数到第n个参数,可以使用args.length获取参数的个数
1,在eclipse中的MianDemo.java文件上单击鼠标右键,在弹出的快捷菜单中选择泽“运行方式”/“运行配置”(英文版为Run As/Run Configrations),弹出“运行配置”(Run Configrations)对话框
2,在“运行配置”对话框中选择“自变量”(Arguments)选项卡,在“项目”(Progran argumrnts)文本框输入相对应的参数,每个参数间按enter键隔开
3,单击“运行”按钮,查看控制台运行结果,结果如上:
如果不按以上操作,直接运行源码,则不会输出如何结果
13.类的继承
Java语言每个类只能继承一个父类
父类和普通类写法相同
public class 父类类名{
}
子类
public class 子类类名 extends 父类类名{
}
14.object类
在Object类中,主要包括clone(),finalize(),equals(),toString()等方法,其中常用的两个方法为equals()和toString()方法。由于所有的类都是object类的子类,所以任何类都可以重写object类中的方法。
(1)getClass()方法
getClass()方法是object类定义的方法,它会返回对象执行的Class实例,然后使用该实例调用getName()方法可以取得类的名称。
(2)toString()方法
toString()方法的功能是将一个对象返回为字符串形式,它会返回一个String实例。在实际的应用通常重写toString()方法,为对象提供一个特定的输出模式。当这个类转换为字符串或与字符串连接时,将自动调用重写的toString()方法。
(3)equals()方法
在java语言中,有两种比较对象的方式,分别为“==”运算符与equals()方法。两者的区别在于:“==”比较的是两个对象引用内存地址是否相等,而equals()方法比较的是两个对象的实际内容。