java面向对象的几个基本特征

发布网友 发布时间:2022-04-20 21:57

我来回答

2个回答

热心网友 时间:2022-03-30 00:30

众所周知,Java是一种面向对象性的语言。而面向对象,Obeject Oriented,是一种编程术语。面向对象是当今软件开发方法的主流方法之一,他是把数据以及对数据的操作放在一起,作为一个相互依存的整体,就是我们所说的对象。那么Java面向对象的特征又是什么?下面就一起来看看Java面向对象的四大特征:

特征一:抽象
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象不打算了解全部问题,而是选择其中的一部分,暂时不用部分细节。抽象包括两个方面:过程抽象;数据抽象。
特征二:继承
继承是一种连接类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类的继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且派生类可以修改或者增加新的方法使之更适合特殊的需要。
特征三:封装
封装是指将客观事物抽象成类,每个类对自身的数据和方法实行保护。类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
特征四:多态
多态是指允许不同类的对象对同一消息做出响应。多态包括参数化多态和包含多态。多态性语言具有灵活、抽象、行为共享、代码共享等优势,很好地解决了应用程序函数同名问题。Java中实现多态主要是方法的重载和方法的覆盖。

热心网友 时间:2022-03-30 01:48

1.调用栈:简单说就是一个用于维护程序中方法调用,越先执行的方法越靠近调用栈的底部,当一个方法被执行完后就会从调用栈的顶部移除。
如果一个java程序是多线程的应用程序,那么它可能拥有多个调用栈。

2.方法调用后可能的三种情况:
(1) 方法返回一个值,基本数据类型或引用类型。
(2) 没有返回值。
(3) 抛出一个异常给函数的调用者,例如,NullPointerException(空指针异常)、ArrayIndexOutOfBoundsException(数组下标越界异常)。
注意:Java中的方法只能出现在类当中,然后没有main方法的java类不是一个程序。

3.方法签名:方法签名指的是方法{ }之前的所有内容。一个方法方法签名有以下几部分组成:
(1) 访问修饰符:
a. public 公开访问级别,允许访问的对象包括:本类的对象、同包不同类的对象、不同包的对象、子类对象;
b. protected 受访问保护级别,允许访问的对象包括:本类的对象、同包不同类的对象、子类对象;
c. default(不写) 默认范文级别,允许访问的对象包括:本类的对象、同包不同类的对象;
d. private 私有访问级别,允许访问的对象只有:本类的对象;
(2) 可选修饰符:
static(静态的)、final(最终的)、abstract(抽象的)、native(本地的)、synchronized(同步的)。
其中static修饰的成员为静态成员,为类的所有成员共享。
在静态方法中,只能直接调用静态成员,不能直接调用非静态成员。需要调用时用:类名.成员名
在成员方法中(即不是用static修饰的方法),可直接调用任何成员。
(3) 返回值类型:
包括,基本数据类型、引用数据类型、或者是没有返回值为void。
(4) 方法名:
可使用任何有效的java表示符。
(5) 形式参数列表:
方法名后用括号括起来,用于方法调用时传递数据参数,java中传递参数的方法只有值传递。
(6) 抛出异常列表:
使用throws关键字,在方法中出现一个方法本身不能或者不想解决的问题时,抛出一个异常,可抛出多个异常,用逗号隔开。

4.方法重载:在同一个类当中有两个或多个相同方法名,但有不同的参数列表的方法时,就叫方法的重载。

5.构造器(构造方法):
(1). 是一个不声明返回值类型,并且方法名必须和类名相同,用于初始化对象中成员变量的一个特殊方法。该方法在实例化对象时被调用。
(2). 当在类中没有添加构造器时,编译器会自动添加一个无参的构造器,如果我们自己添加了构造器,编译器就不在添加默认构造器。
(3). 在构造器中,可以使用this()来调用同一个类中其他的构造器,但需注意的是,调用构造器的this语句必须是本构造器中的第一条可执行语句。

6.数组:
(1). 声明一个数组: 数据类型 [] 变量名;
(2). 分配空间: 变量名 = new 数据类型[长度]; 分配空间后数组就会有默认值。
(3). 声明的同时分配空间: 数据类型 [] 变量名 = new 数据类型[长度];
(4). 初始化数组: 数据类型 [] 变量名 = new 数据类型[]{}; 或 数据类型 [] 变量名 = {};
(5). 数组的长度是固定,一但声明就不能增长或者缩小。然后数组的长度可用 数组名.length 获取。
(6). foreach (用于数组或集合的遍历) 语法:for(类型 变量名 : 数组或集合名) {}

7.继承:
(1). 在面向对象编程中,可以扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类。
(2). 已有的类称为父类或基类、超类,子类也可以称为派生类。
(3). JAVA不支持多重继承,单继承使JAVA的继承关系很简单,一个类只能有一个父类,易于管理程序,同时一个类可以实现多个接口,从而克服单继承的缺点。
(4). 继承关系是传递的。若类C继承类B,类B继承类A,则类C既有从类B那里继承下来的属性方法,也有从类A那里继承下来的属性方法,还可以有自己新定义的属性方法。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com