什么是java 中的类,和c中的结构体有什么区别

小编 550

java中的类是一种抽象的数据类型,只有被实例化以后才能被操作,具有封装性、继承性和多态性三大特性。java中的类和c中的结构体都属于构造数据类型,而两者之间有三个主要差异,即成员类型不同、访问权限不同、封装对象不同。

1.什么是java中的类

java中的类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。由于类的本质是数据类型,而不是数据,所以不存在于内存中,不能被直接操作,只有被实例化为对象时,才会变得可操作。

一个类可以包含的类型变量有:局部变量、类变量和成员变量。其中,局部变量是指在方法、构造方法或者语句块中定义的变量;类变量也声明在类中,方法体之外,但必须声明为static类型;成员变量是定义在类中,方法体之外的变量,这种变量在创建对象的时候实例化。

类具有三大特性:即封装性、继承性和多态性。封装性是将数据和操作封装为一个有机的整体;继承性更符合认知规律,使程序更易于理解,同时节省不必要的重复代码;多态性是指,同一操作作用于不同对象,可以有不同的解释,产生不同的执行结果。

2.java中的类和c中的结构体之间的区别

(1)成员类型不同

java中的类和c中的结构体都是一种构造数据类型,但不同的是:

Java中类的成员不但可以是变量,还可以是函数,且通过类定义出来的变量也有特定的称呼,叫做“对象”;

c中的结构体是一种集合,其成员是变量或数组,每个成员的数据类型可以不一样;也可以通过结构体来定义结构体变量,使每个变量拥有相同的性质。

(2)访问权限不同

此外,类需要通过声明public、protected、private或者不加权限修饰符来进行访问权限的控制;而结构体中的成员变量都是可以直接访问的。另外,类是可以继承的,子类可以通过继承获得父类的一些属性或者方法,这是结构体所不具有的。

(3)封装对象不同

java作为一种纯面向对象语言,将所有东西都封装在类中,包括程序执行入口的Main方法;而结构体仅仅是封装数据用的,也可以说仅仅是自定义的一种变量类型。

延伸阅读

java语言和c语言的区别是什么

1.设计思路不同

Java是面向对象的语言,执行效率比C语言低;C语言是面向过程的语言,执行效率高。

2.通用性不同

java可以跨平台直接移植,只要有安装Java虚拟机(JVM)就可以了;而C语言不能跨平台。

3.应用领域不同

java主要是企业应用开发,包括服务器端开发、嵌入式领域、大数据技术、网站领域等;C语言主要用于驱动开发、操作系统、内核开发,嵌入式(单片机)、交换机、路由器等网络设备的开发。

4.基本数据类型不同

java的基本数据类型是:byte、int、short、long、float、double、char、boolean。

c语言的基本数据类型是:int、short、long、char、float、double,还有一些特殊类型包括结构体、指针、联合体等。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部