Java知识点总结1

tech2022-08-19  64

文章目录

面向过程与面向对象的区别break和continue的区别while循环和do/while循环的不同点for循环、while循环、do/while循环的适用场景==和equals的区别this和super关键字用法

面向过程与面向对象的区别

面向过程: 自顶向下、逐步求精、模块化

优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。性能是最重要的因素。 缺点:没有面向对象易维护,易复用,易拓展。

面向对象: 自下而上

优点:易维护,易复用,易拓展。由于面向对象有封装、继承、 多态的特性,可以设计出低耦合的系统,使系统更加灵活,更加易于维护。 缺点 :性能比面向过程低。

break和continue的区别

break是立即终止循环,进入循环结构的后续代码立即执行,循环体执行结束。 continue是终止本次循环,进入下次循环,循环并没有执行结束。

while循环和do/while循环的不同点

do/while循环至少执行循环体一次,而while循环有可能一次都不执行。

for循环、while循环、do/while循环的适用场景

for循环一般用于可以明确循环次数的场景中;while循环一般用于不能预先确定循环执行次数的场景中;do/while循环一般用于不能预先确定循环执行次数,同时要求循环体至少执行一次的场景中。

==和equals的区别

如果是简单类型,==比较的是具体的值。若为复杂类型,==比较的是两个对象的具体地址值,equals则比较的是具体的内容。

this和super关键字用法

从语义的角度上说,this用于指代当前对象,super用于指代父类对象 this关键字:

this() 表示调用当前类的其他构造器,具体调用的哪个构造器取决于参数列表。只能用于构造方法,而且是构造方法的第一句。this.属性名:用于获取当前对象的某个属性,一般this可写可不写,如果出现了局部变量和属性名冲突时则必须使用this.属性名的方式,表示引用属性,而不是局部变量。一般用于局部变量和属性名称一致的场景下。this.方法名() 表示应用当前对象的某个方法,一般this可写可不写,如果不写this.,系统默认this.。

super关键字:

super() 表示调用父类的其他构造器,具体调用的哪个构造器取决于参数列表。

super.属性名:用于获取父类中定义的某个属性,一般用于子类中覆盖定义了父类属性的场景下。

super.成员方法名() 用于表示当前类的父类中定义的某个成员方法,一般用于覆盖定义时【就近原则】.。

在static方法中不允许使用this/super之类的关键字

最新回复(0)