【20171009】Java名词理解

来源:互联网 发布:北京快道网络 董事长 编辑:程序博客网 时间:2024/05/22 14:24

一:方法

Java方法是语句的集合,它们在一起执行一个功能

方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用

这里写图片描述

方法调用有两种方法:1.传值调用;2.语句调用。

当方法返回一个值的时候,方法调用通常被当做一个值。例如:
int larger = max(30, 40);

如果方法返回值是void,方法调用一定是一条语句。例如,方法println返回void。下面的调用是个语句:
System.out.println(“欢迎访问菜鸟教程!”);

二:构造方法

当一个对象被创建时候,构造方法用来初始化该对象。构造方法和它所在类的名字相同,但构造方法没有返回值。通常会使用构造方法给一个类的实例变量赋初值,或者执行其它必要的步骤来创建一个完整的对象。

例如:Scanner sc = new Scanner(system.in); // 带参数的构造方法
或者 Hello hl = new Hello(); //不带参数的构造方法

三:成员方法

成员方法就是对象所具有的动态功能。注意:必须有返回值。
Java 类中方法的声明采用以下格式:

访问修饰符 修饰符 返回值类型 方法名称 (参数列表) throws 异常列表 {方法体}
class AnIntegerNamedX {    int x;       //这个是成员变量     public int x() {     //成员方法            return x;   }   public void setX(int newX) {        //成员        x = newX;//get,set方法都属于成员方法    }}

成员方法与构造方法的区别:

A:格式区别
构造方法和类名相同,并且没有返回类型,也没有返回值。
普通成员方法可以任意起名,必须有返回类型,可以没有返回值。
B:作用区别
构造方法用于创建对象,并进行初始化值。
普通成员方法是用于完成特定功能的。
C:调用区别
构造方法是在创建对象时被调用的,一个对象建立,只调用一次相应构造函数
普通成员方法是由创建好的对象调用,可以调用多次

四、面向对象

面向对象 = 对象 + 分类 + 继承 + 用消息通信

对象:对象是基本的运行实体,包括数据(属性)和用于数据的操作(行为或方法)。一个对象通常由对象名、属性、操作三部分组成。

:定义了一组大体上相似的对象,类所包含的方法和数据描述了一组对象的共同行为和属性。将一组对象的共同特征抽象并储存在一个类中(封装)的能力,是面向对象技术最重要的一点。
而对象是类实例化得来的。

消息:是某个对象执行类中定义的某个操作的规格说明,是两个对象之间的通信单元。两个对象通过消息传递进行通信,是对象和一般数据类型之间的本质区别。

五、面向对象的三个基本特征

#1继承

继承是父类和子类之间共享数据和方法的机制。继承可以分为多重继承和单重继承。单重继承是指一个子类只继承一个父类的特征,可以用树来描述,而多重继承是继承父类的多个特征,可以用图描述。

C++中的继承有公有继承(public),私有继承(private)和保护继承(protected)。

#2多态

多态是指,不同对象收到同一消息可以产生完全不同的结果。通俗的说就是,碰到同一件事,不同的人会产生不同的反应。(例如:有两个小贩,一个卖西瓜,一个卖雨伞,晴天的时候西瓜卖得好,雨伞就没几个人买,雨天买伞的人就比买西瓜的多。)

在使用多态技术的时候,用户可以发送一个通用的消息,而实现的细节由对象决定,这样同一个消息就可以调用不同的方法。

多态有四种形式:
通用多态:
1.参数多态:同一个对象、函数、过程能以一致的形式用于不同的类型。
2.包含多态:子类型化,就是一个类型是另一个类型的子类型。

特定多态:
3.过载多态:同一变量被用来表示不同的功能。
4.强制多态:通过语义操作把一个变元的类型加以变换。

#3封装

封装是一种信息屏蔽技术,目的是将定义和实现分离,保护数据不被对象的使用者直接存取。通俗的说就是把实现这个功能的细节代码放在另一个类里不让用户觉得很混乱,例如开汽车的人不必知道发动机的原理,发动机功能实现的代码就被封装了。

六、其他

1.重载:

重载是指在子类中保留父类的函数名,但使用不同类型的参数,也就是在面向对象编程语言中,允许同名、具有不同类型参数的函数共同存在。
例如:

    double area(double r)    {        return(Math.PI * r * r);    }    double area(double a,double b)    {        return(a * b);    }

函数名都是area,而且功能也都是求面积,但是参数不一样,实现了重载。

2.动态绑定:

动态绑定是以函数调用和函数本体的关联为基础。绑定动作在执行期才根据对象类型而进行。也就是说,在运行过程中,当一个对象发送消息请求服务的时候,根据接受对象的具体情况将请求的操作和实现的方法进行连接。