java面向对象有什么特点?Java中面向对象的特征有哪些
大家好,今天来为大家分享java面向对象有什么特点的一些知识点,和Java中面向对象的特征有哪些的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
java面向对象的三大特征
Java面向对象的三大个特征是封装,继承,多态。
1、封装:
封装主要是对类的封装。一个业务逻辑的实现往往需要多个对象和方法去实现,封装是对不同对象的方法进行封装处理,即不同对象的方法处在一个单独的对象类中。
2、继承:
使用一个特殊类拥有其全部的属性和服务,作为父类,他可以有多个子类,一般的类去实现,比如:父类为人,子类可以是男人和女人,男和女都继承于父类,但是一个子类只能继承一个特殊类,不能继承多个。但一个一般类可以实现多个接口。子类继承父类的时候,可以重写父类的方法,也可以有自己的方法。
3、多态:
具有三个条件继承、重写、父类对象引用指向子类对象
。多态具有可替换性(substitutability)、可扩充性(extensibility)、接口性(interface-ability)
、灵活性(flexibility)、简化性(simplicity)的优点。
Java 面向对象的特征有哪些方面
JAVA面向对象最重要的特征就是:封装,继承,多态。
封装是为了方便调用类库里面已经写好的函数,继承是方便对已有函数的功能进行直接调用和扩展。按照原则,java中已经写好的类库会被打包成jar包,不允许调用者更改里面的代码。
但是你可以通过其中的抽象类或者接口,根据具体的业务逻辑进行功能的扩展。
多态的作用是,可以实现对继承对象的统一调度,是面向对象的精髓所在。
另外,java还有语言简单,面向对象,和平台无关性。之所以java可以跨平台,在于他可以通过java虚拟机JVM,将java代码解释成该平台能理解的语言。
Java中面向对象的特征有哪些
有四大基本特征:封装、抽象、继承、多态
面向对象的封装性:即将对象封装成一个高度自治和相对封闭的个体,对象状态(属性)由这个对象自己的行为(方法)来读取和改变
抽象:就是找出一些事物的相似和共性之处,然后将这些事物归为一类,这个类只考虑这些事物的相似之处和共性之处,并且会忽略与当前主题和目标无关的那些方面,将注意力集中与当前目标有关的方面。就是把现实生活中的对象抽象为类。
继承:在定义和实现一个类的时候,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并可以加入若干新的内容,或修改原来的方法使之更符合特殊的需要。
多态:指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会指向那个类的实例对象,该引用变量发出的方法调用到底是哪个类中的实现方法,必须在程序运行期间才能确定。
Java中面向对象三大特征
java中的面向对象的三大基本特征是:【封装】、【继承】、【多态】
一、封装
对象要有一个明确的边界;边界的划分(对象各司其职、对象的粒度、对象的可重用性)
具体来说:
1.属性:私有 private(提供set和get方法)
2.方法:公开或私有public/private
3.方法声明-->公开
方法实现-->隐藏
实现改变时,对对象的使用者没有影响。
二、继承
共性放到父类,特性放到子类;子类,父类-->其实就是特殊-->一般
1.关键字: extends例如:Dog extends Animal{}
2.java中一个类最多只能有一个直接的父类,即单继承(具有简单性、树形结构),
C++中是单继承
java中要实现多继承,通过接口来实现。
3.父类中所有属性和方法都能继承给子类;父类中的私有方法不能继承给子类。
4.java中的访问修饰符
访问修饰符
访问权限
继承
private
本类内部
不能继承
default
本类+同包
同包子类可以继承
protected
本类+同包+不同子包
可以继承
public
公开
可以继承
5.构造对象过程
(1)分配空间
(2)递归地构造父类对象
a.父类初始化属性
b.父类构造方法
(3)初始化属性
(4)调用构造方法
6.super
用法:
super()调用父类的构造方法,只能出现在构造方法的第一行
super.方法名 super表示父类的对象,通过它去调用父类的方法
注意:在写类的时候,一定要写默认无参的构造方法,如果一个构造方法的
第一句既不是this(),也不是super()时,那么就会在这里隐含的调用
他的父类的无参的构造方法,即隐含的有super()。
三、多态
运行时多态。
子类的对象放在父类的引用中,例如 Animal a=new Dog,子类对象当父类对象来使用。
1.多态原则:
(1)对象类型不变
(2)只能用引用调用其引用类型中定义的方法
(3)运行时,根据对象的实际类型去找子类覆盖之后的方法
例子:
有Animal类中有eat()和sleep()两个方法,sleep()中睡8小时;子类Dog中有
eat()方法,sleep()方法中睡6小时,还有wangwang()方法。
现创建Animal a=new Dog();不能调用a.wangwang(),调用a.sleep()输出睡6小时。
2.对象的强制转换
格式:引用 instanceof类型
引用所指的对象是否与类相符,返回值boolean值。
用法:
Animal a=new Cat();
if(a instanceof Dog)
{
Dog d=(Dog)a;
d.wangwang();
}
说明:如果只有Dog d=(Dog)a;运行时错误,因为a是Cat而不是Dog(多态原则第一条)
3.多态的灵活变换
(1)用于参数列表上:
public void m(A a){}可以用A类的任何子类对象作为参数
(2)用在返回值上:
public A m(){}这个方法可能返回A类的任何子类对象
文章分享结束,java面向对象有什么特点和Java中面向对象的特征有哪些的答案你都知道了吗?欢迎再次光临本站哦!