第二篇Java基础知识复习

一:面向对象

一、面向对象的三大特征:1.掌握类的封装特性、构造方法的定义、重载以及this关键字和static关键字的使用。2.熟悉类与对象的创建和使用。3.了解面向对象的三大特征。

1.面向对象的概念:面向对象是一种符合人类思维习惯的编程思想。现实生活中存在各种形态不同的事物,这些事物之间存在着各种各样的联系。在程序中使用对象来映射现实中的事物,使用对象的关系来描述事物之间的联系,这种思想就是面向对。
提到面问对象,自然会想到面向过程,四向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一一实现,使用的时候依次调用就可以了。面向对象则是把构成问题的事务按照一定规则划分为多个独立的对象然后通过调用对象的方法来解决问题。当然,一个应用程序会包含多个对象,通过多个对象的相互配合来实现应用程序的功能,这样当应用程序功能发生变动时,只需要修改个别的对象就可以了,从而使代码更容易得到维护。面向对象的特点主要可以概括为封装性、继承性和多态性,接下来针对这三种特性进行简单介绍。

2.封装:封装是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界知道具体实现细节,这就是封装思想。例如,用户使用电脑,只需要使用手指敲键盘就可以了,无需知道电脑内部是如何工作的,即使用户可能碰巧知道电脑的工作原理,但在使用时,并不完全依赖电脑工作原理这些细节。

3. 继承:继承性主要描述的是类与类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展。例如,有一个汽车的类,该类中描述肾汽车的普通特性和功能,而轿车的类中不仅应该包含汽车的特性和功能,还应该增加轿车特有的功能,这时,可以让轿车类继承汽车类在轿车类中单独添加轿车特性的方法就可以了。继承不仅增强了代码的复用性、提高开发效率,还为程序的维护补充提供了便利。

4.多态:多态性指的是在程序中允许出现重名现象,它指在一个类中定义的属性和方法被其它类继承后,它们可以具有不同的数据类型或表现出不同的行为,这使得同一个属性和方法在不同的类中具有不同的语义。例如,当听到“Cut”这个单词时,理发师的行为是剪发,演员的行为表现是停止表演,不同的对象,所表现的行为是不一样的。

二、类与对象
1.面向对象的编程思想,力图让程序中对事物的描述与该事物在现实中的形态保持一致。

2.类的定义:在面向对象的思想中最核心的就是对象,为了在程序中创建对象,首先需要定义一个类。类是对象的抽象。它用于描述一组对象的共同特征和行为。类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也被称作属性,成员方法用于描述对象的行为。可简称为方法。

3.
第二篇Java基础知识复习_第1张图片

 

4.对象的创建与使用 

        1.在Java程序中可以使用new关键词来创建对象,具体格式如下:

类名  对象名称  =  new 类名();

5.类的设计:在Java中,对象是通过类创建出来的。因此,在程序设计时,最重要的就是类的设计。接下来就通过一个具体的案例来学习如何设计一个类假设要在程序中描述一个学校所有学生的信息,可以先设计一个学生类(Student),在这个类中定义两个属性name、age分别表示学生的姓名和年龄定义一个方法introduce()表示学生做自我介绍。

6.类的封装

        1. 在设计一个类时,应该对成员变量的访问作出一些限定,不允许外界随意访问,这就需要实现类的封装。所谓类的封装是指在定义一个类时,将类中的属性私有化。即使用private关键字来修饰。私有属性只能在字所在类中被访问。如果外界想要访问私有属性,需要提供一些使用publiec修饰的公有方法。其中包括用于获取属性值的gatXx方法和设微属性值的setXxx方法。
三、构造方法

在Java中的每个类都至少有一个构造方法,如果在一个类中没有定义构造方法,系统会自动为这个类创建一个默认的构造方法,这个默认的构造方法没有参数了在其方法体中没有任何代码,即什么也不做。

1.构造方法的定义:在一个类中定义的方法如果同时满足以下三个条件,该方法称为构造方法,具体如下:1.方法名与类名相同2.在方法名的前面没有返固值类型的声明3.在方法中不能使用return语句返因一个值,但是可以单独写return语句来作为方法的结束。

2.该构造方法的重载:与普通方法一样,构造方法也可以重载,在一个类中可以定义多个构造方法,只要每个构造方法的参数类型或参数个数不同即可。在创建对象时,可以通过周用不同的构造方法来为不同的属性进行赋值。

四、this关键字

1.Java中提供了一个关键字this来指代当前对象,用于在方法中访问对象的其他成员。

static关键字

1.静态变量

第二篇Java基础知识复习_第2张图片

 

2.静态方法

        1.只需要在类中定义的方法前加上static关键字

        2.同静态变量一样,静态方法可以使用“类名.方法名”的方式来访问,也可以通过类的实例对象来访问。

3.静态代码块:在Java类中,使用一对大括号包围起来的若干行代码被称为一个代码块,用static关键字修饰的代码块称为静态代码块。当类被加载时,静态代码块会执行由于类只加载一次,因此静态代码块只执行一次。在程序中,通常会使用静态代码块来对类的成员变量进行初始化。

第二篇Java基础知识复习_第3张图片

成员内部类

1.成员内部类

第二篇Java基础知识复习_第4张图片

 类的继承:

在现实生活中,继承一般指的是子女继承父辈的财产。在程序中继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。例如猫和狗都属于动物,程序中便可以描述为猫和狗继承自动物,同理,波斯猫和巴厘猫继承自猫,而沙皮狗和斑点狗继承自狗。这些动物之间会形成一个继承体系。同时也有需要注意的地方。

第二篇Java基础知识复习_第5张图片

 

重写父类方法:在继承关系中,子类会自动继承父类中定义的方法,但有时在子类中需要对继承的方法进行一些修改,即对父类的方法进行重写。需要注意的是,在子类中重写的方法需要和父类重写的方法具有相同的方法名参数列表以及返回值类型。

super关键字

        1.当子类重写父类的方法后,子类对象将无法访问父类被重写的方法。

        2.使用super关键字访问父类的成员变量和成员方法:

 使用super关键字访问父类的构造方法:

final关键字:final关键字可用于修饰类、变量和方法,它有“无法改变”或者“最终的含义,因此被final修饰的类、变量和方法将具有以下特性:
·final修饰的类不能被承。
·final修饰的方法不能被子类重写
final修饰的变量《成员变量和局部变量)是常量,只能赋值一次

final关键字修饰类:Java中的类被final关键字修饰后,该类将不可以被继承,也就是不能够派生子类。
抽象类和接口

抽象类:当定义一个类时,常常需要定义一些方法来描述该类的行为特征,但有时这些方法的实现方式是无法确定的。例如前面在定义Animal类时,shout()方法用于表示动物的叫声,但是针对不同的动物,叫声也是不同的,因此在shout()方法中无法准确描述动物的叫声。

第二篇Java基础知识复习_第6张图片

接口:如果一个抽象类中的所有方法都是抽象的,则可以将这个类用另外一种方式来定义,即接口。接口是由常量和抽象方法组成的特殊类,是对抽象类的进一步抽象。
在定义接口时,需要使用interface关键字来声明,其语法格式如下: 

第二篇Java基础知识复习_第7张图片

多态 

多态概念:在设计一个方法时,通常希望该方法具备一定的通用性。例如要实现一个动物叫的方法,由于每种动物的叫声是不同的,因此可以在方法中接收一个动物类型的参数,当传入猫类对象时就发出猫类的叫声,传入大类对象时就发出大类的叫声。在同一个方法中,这种由于参数类型不同而导致执行效果各异的现象就是多态。继承是多态得以实现的基础。在Java中为了实现多态,允许使用一个父类类型的变量来引用一个子类类型的对象,根据被引用子类对象特征的不同,得到不同的运行结果。

多态的类型转换

        1.在多态的学习中,涉及到将子类对象当作父类类型使用的情况,称为“向上转型”。

        2.将子类对象当作父类使用时不需要任何显示的声明,需要注意的是,此时不能通过父类变量去调用子类中的特有方法。

object类

第二篇Java基础知识复习_第8张图片

匿名内部类:在编写Java程序时,在类里面定义的类称之为内部类 (nnerClass),内部类是外部类的一个成员。Java内部类可以分为: 成员内部类、方法内部类和匿名内部类等。 

第二篇Java基础知识复习_第9张图片

 

 

 

 

你可能感兴趣的:(java)