类的一些提问以及百度到的答案

1.1数据类型其实都是程序设计语言封装好的对象,是为了对应编译器合理利用计算机空间,并且符合我们的日常认知。数据类型背后,隐藏的是编译器或者解释器对数据处理方式的定义。有了数据类型,编译时可以进行语法检查,相当于定义了一些规则。

1.2数组,是有序的元素序列,用于储存多个相同类型数据的集合,数组是在程序设计中,为了处理方便,  把具有相同类型的若干元素按无序的形式组织起来的一种形式。

数组可以作为数据类型。数组是一种引用类型

1.3类是具备某些共同特征的实体的集合,它是一种抽象的概念,用程序设计的语言来说,类是一种抽象的数据类型,它是对所具有相同特征实体的抽象

类的实质是一种引用数据类型

2.1
概念不同:
析构函数:对象所在的函数已调用完毕时,系统自动执行析构函数。
构造函数:是一种特殊的方法。特别的一个类可以有多个构造函数  ,可根据其参数个数的不同或参数类型的不同来区分它们  即构造函数的重载。
作用不同:
析构函数:析构函数被调用。
构造函数:为对象成员变量赋初始值
目的不同:
析构函数:”清理善后”  的工作
构造函数:主要用来在创建对象时初始化对象,  即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。

 

java中有析构函数,但我们一般用不到它,因为java有自动内存回收机制,无需程序员来释放,也就不要担心内存泄露,只不过java中析构函数所采用的方式不是C++中的那样前加~号,在java中对象析构时会调用void  finalize()方法,因此你如果确实需要析构的话就可以为你写的类添加一个void  finalize(){}方法,来完成你所需要的工作 

 

2.2方法重载也叫(overload):就是在同一个类中,方法的名字相同,参数列表不同(顺序不同、个数不同、类型不同),实现相似的功能,与修饰符、返回值类型无关。我们会觉得方法调用的时候就像调用一个方法一样。
方法重写也叫方法覆盖(override):首先存在继承的关系中,子类继承父类并重写父类的属性、方法。方法名字相同,参数列表一致、返回值类型一致或父类返回类型的子类类型、修饰符不能缩小范围。子类不能重写构造方法、属性、静态方法、私有方法。

 

2.3开发过程中,我认为最大的复杂度来自“变化”,项目需求的变化,项目架构的变化,功能具体实现的变化等等。

而抽象类和接口正是我们工作中常用的用以解决具体实现变化的一种方式,它为我们提供了:“将接口和实现分离的方法”。这样,我们编码过程就可以面向接口而不是面向实现编程,这样当具体实现发生变化时,上游系统将基本不用做改动。

抽象类和接口本质上的目的都是一样的:“提供更加高度的抽象”。但是,接口相对于抽象类,它的抽象程度更进一步。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值