Java的特点有哪些
发布网友
发布时间:2022-02-28 14:24
我来回答
共3个回答
热心网友
时间:2022-02-28 15:53
3大特征:封装、继承、多态
封装:
首先,属性可用来描述同一类事物的特征,方法可描述一类事物可做的操作。封装就是把属于同一类事物的共性(包括属性与方法)归到一个类中,以方便使用。
1.概念:封装也称为信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他部分只有通过包裹在数据外面的被授权的操作来与这个抽象数据类型交流与交互。也就是说,用户无需知道对象内部方法的实现细节,但可以根据对象提供的外部接口(对象名和参数)访问该对象。
2.好处:(1)实现了专业的分工。将能实现某一特定功能的代码封装成一个独立的实体后,各程序员可以在需要的时候调用,从而实现了专业的分工。(2)隐藏信息,实现细节。通过控制访问权限可以将可以将不想让客户端程序员看到的信息隐藏起来,如某客户的银行的密码需要保密,只能对该客户开发权限。
继承:
就是个性对共性的属性与方法的接受,并加入个性特有的属性与方法
1.概念:一个类继承另一个类,则称继承的类为子类,被继承的类为父类。
2.目的:实现代码的复用。
3.理解:子类与父类的关系并不是日常生活中的父子关系,子类与父类而是一种特殊化与一般化的关系,是is-a的关系,子类是父类更加详细的分类。如class
dog extends animal,就可以理解为dog is a
animal.注意设计继承的时候,若要让某个类能继承,父类需适当开放访问权限,遵循里氏代换原则,即向修改关闭对扩展开放,也就是开-闭原则。
4.结果:继承后子类自动拥有了父类的属性和方法,但特别注意的是,父类的私有属性和构造方法并不能被继承。
另外子类可以写自己特有的属性和方法,目的是实现功能的扩展,子类也可以复写父类的方法即方法的重写。
多态:
多态的概念发展出来,是以封装和继承为基础的。
多态就是在抽象的层面上实施一个统一的行为,到个体(具体)的层面上时,这个统一的行为会因为个体(具体)的形态特征而实施自己的特征行为。(针对一个抽象的事,对于内部个体又能找到其自身的行为去执行。)
1.概念:相同的事物,调用其相同的方法,参数也相同时,但表现的行为却不同。
2.理解:子类以父类的身份出现,但做事情时还是以自己的方法实现。子类以父类的身份出现需要向上转型(upcast),其中向上转型是由JVM自动实现的,是安全的,但向下转型(downcast)是不安全的,需要强制转换。子类以父类的身份出现时自己特有的属性和方法将不能使用。
热心网友
时间:2022-02-28 17:11
Java是纯面向对象开发,功能强大,分支众多,没有Java不能做的软件。C/S也好B/S也好。从功能上讲,没有语言可以和Java相比。
热心网友
时间:2022-02-28 18:46
java的风格类似C++,从某种意义上讲,java是C++的一个变种;
java摒弃了C、C++中的容易引发错误和难以理解的指针,结构,以及内存管理等;
java提供了丰富的类库,很方便开发程序;
java是完全面向对象的语言,支持 继承,重载,多态等面向对象的特性;
java是一种强类型的语言,比C/C++检查还要严格,java区分大小写字母;
java提供了自动垃圾回收机制gc,有效避免了C、C++的内存泄漏问题;
java禁止非法访问内存,因为java没有指针,内存的申请和释放;
跨平台,java的源代码编译成结构中立的中间格式,这种格式与机器无关,只要在安装有JVM(java虚拟机)的电脑上,都能运行这种与机器无关的中间文件;java一次编译,到处运行;
对于不同的操作系统,会有不同的java虚拟机,这也就决定了java的可移植性;
java支持多线程,简单理解,如果是单核CPU,那么会通过时间片轮转的方式,多线程执行程序,如果是多核CPU,那么就可以理解为,两个或多个线程同时运行。