------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1.面向对象的定义,特征
1.1面向对象不仅要定义对象的属性,而且需要定义该对象的方法,如抽象车这个类,则需要定义车的长、宽、高属性外,还需要定义启动车引擎等方法。
1.2面向对象的三大特征
封装 (Encapsulation) :
继承 (Inheritance):Java继承是使用已存在的类的定义作为基础建立新类的技术,继承避免了对一般类和特殊类之间共同特征进行的重复描述
实例: “new”关键字是用来创建对象。
初始化: 关键字 new 后跟调用一个构造函数。这个调用初始化新的对象。
1.2面向对象的三大特征
封装 (Encapsulation) :
继承 (Inheritance):Java继承是使用已存在的类的定义作为基础建立新类的技术,继承避免了对一般类和特殊类之间共同特征进行的重复描述
多态 (Polymorphism):多态指同一个实体同时具有多种形式。
2.类与对象
类是描述具有相同特征的一类事物的基本原型,定义了这类事物所拥有的数据特征以及可以执行的操作;对象是类的实例,是类的具体化类
类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例(instance)。
创建对象时有三个步骤:
声明: 变量声明,一个变量名的对象类型。
实例: “new”关键字是用来创建对象。
初始化: 关键字 new 后跟调用一个构造函数。这个调用初始化新的对象。
Person p1 = new Person();
创建新的对象之后,我们就可以使用“ 对象名.对象成员 ”的格式,来访问对象的成员(包括属性和方法)
引用对象的成员变量和调用对象方法:
对象.成员变量
对象.成员方法([参数列表])
对象.成员变量
对象.成员方法([参数列表])
3.实现类的封装性
在定义一个类的成员(包括变量和方法)时,使用private关键字说明这个成员的访问权限,这个成员成了类的私有成员,只能被这个类的其他成员方法调用,而不能被其他的类中的方法所调用。
对一个变量的操作,一般都有读取和赋值操作,我们分别定义两个方法来实现这两种操作,一个是getXxx()(Xxx表示要访问的成员变量的名字),用来读取这个成员变量操作,另外一个是setXxx()用来对这个成员变量赋值。
4.构造函数的定义与作用
4.1 构造方法的特征
它具有与类相同的名称;
它不含返回值;
单态设计模式:采取一定的方法保证在整个软件系统中,对某个类只能产生一个对象实例,并且该类只提供一个取得其对象的实例方法。
实现:
在java中实现单态模式只需要执行以下三步:
1.将构造函数声明为private。这样就只能在该类的内部生成对象,而不能在外部通过new来产生对象。
2.在类内部生成一个静态的实例。
3.提供一个静态的方法用于外部取得该类的实例。
它具有与类相同的名称;
它不含返回值;
它不能在方法中用return语句返回一个值
4.2 构造方法的作用:当一个类的实例对象刚产生时,这个类的构造方法就会被自动调用,我们可以在这个方法中加入要完成初始化工作的代码。
4.3
构造方法的重载:重载的构造方法具有不同个数或不同类型的参数,编译器就可以根据这一点判断出用new 关键字产生对象时,该调用哪个构造方法了。产生对象的格式是:new 类名(参数列表) ;
5.static静态变量
6.静态代码块
一个类中可以使用不包含在任何方法体中的静态代码块(static block ),当类被载入时,静态代码块被执行,且只被执行一次,静态块经常用来进行类属性的初始化。
7.单态设计模式
单态设计模式:采取一定的方法保证在整个软件系统中,对某个类只能产生一个对象实例,并且该类只提供一个取得其对象的实例方法。
实现:
在java中实现单态模式只需要执行以下三步:
1.将构造函数声明为private。这样就只能在该类的内部生成对象,而不能在外部通过new来产生对象。
2.在类内部生成一个静态的实例。
3.提供一个静态的方法用于外部取得该类的实例。
9.super与this
super代表当前类的父类(超类),子类的构造函数如果要引用super的话,必须把super放在函数的首位;当子类变量与父类变量重名时,使用super调用父类变量
this代表当前对象,this使用:this.属性,this.方法,this();使用this来区别重名的局部变量与成员变量;使用this在一个构造函数中调用其他的重载构造函数
this引用
1.对象本身
2.访问本类成员
this.成员变量
this.成员方法([参数列表])
3.调用本类重载的构造方法
this([参数列表])
1.对象本身
2.访问本类成员
this.成员变量
this.成员方法([参数列表])
3.调用本类重载的构造方法
this([参数列表])