Java学习笔记2

方法
方法是可以完成某个特定功能的并且可以被重复调用的代码片段。
*Java中方法类似于C语言中的函数。方法可以提高代码复用性,可以定义一个方法来实现某功能,当需要使用该功能时,只需调用一下方法即可。
方法的语法机制:
     [修饰符列表] 返回值类型 方法名(形式参数列表){
          方法体;
     }

返回值是指一个方法执行结束之后返回的结果,可以是Java中任意合法的数据类型。当一个方法执行结束后不返回任何值时,返回值一栏填void。
void表示该方法执行结束后不返回任何结果。
当返回值不是void时,方法结束时需要写“return 值”来返回方法的执行结果。

形式参数列表中的每一个参数都是一个局部变量,个数是0~N个。形参有多个时,用逗号隔开。

如何调用方法:
    类名.方法名(实际参数列表);

*栈相关。
   1、栈是一种非常经典的数据结构。
       栈数据结构:stack 
   2、什么是数据结构?
       数据结构通常是:存储数据的容器。而该容器可能存在不同的续构。
   3、常见的数据结构有哪些?
       数组、链表、图、二叉树、栈、队列...
   4、栈数据结构的特点:先进先出,后进后出。
   5、处于栈顶部的元素具备活跃权。

方法重载机制。
    使用方法重载机制的优点:
        1.代码整齐美观。
    2.功能相似的方法,可以让方法名相同,更易于以后的代码编写。
    Java语言如何进行方法区分:
        首先java编译器会通过方法名进行区分。但是在java语言中允许方法名相同的情况出现。如果方法名相同的情况下,编译器会通过方法的参数类型进行方法的区分。
    什么时候需要考虑使用方法重载?
        在同一个类当中,如果“功能1”和功能2”它们的功能是相似的,那么可以考虑将它们的方法名一致,这样代码既美观,又便于后期的代码编写(容易记忆,方便使用)。
        注意:方法重载overload不能随便使用,如果两个功能压根不相干,不相似,根本没关系,此时两个方法使用重载机制的话,会导致编码更麻烦。无法进行方法功能的区分。
    什么时候代码会发生方法重载?
        条件1:在同一个类当中。
        条件2:方法名相同。
        条件3:参数列表不同。
        只要同时满足以上3个条件,那么即可以认定方法和方法之间发生了重载机制。

方法递归
    方法自己调用自己就是方法递归。
    当递归时程序没有结束条件,一定会发生栈内存溢出错误:StackoverflovError。所以:递归必须要有结束条件。(这是一个非常重要的知识点。)
    递归假设是有结束条件的就一定不会发生栈内存溢出错误吗?假设这个结束条件是对的,是合法的,递归有的时候也会出现栈内存溢出错误。因为有可能递归的太深,栈内存不够了。因为一直在压栈。
    在实际的开发中,不建议轻易的选择递归,能用for循环while循环代替的,尽量使用循环来做。因为循环的效率高,耗费的内存少。递归耗费的内存比较大,另外递归的使用不当,会导致JVM坏死。

面向对象
面向过程和面向对象有什么区别?
    从语言方面出发:对于c语言来说,是完全面向过程的。对于C++语言来说,是一半面向过程,一半是面向对象(C++是半面向对象的)。对于Java语言来说,是完全面向对象的。

什么是面向过程的开发方式?
    面向过程的开发方式主要的特点是:注重步骤,注重的是实现这个功能的步骤,注重每一步要做什么。另外面向过程也注重实现功能的因果关系。因为A所有B等等。
面向过程的缺点:代码和代码之间耦合度太高,扩展力太差。
面向过程的优点:对于小型项目,采用面向过程的方式开发,效率更高,不需要进行前期对象的提取,模型的建立。

什么是面向对象的开发方式?
    采用面向对象的方式进行开发,更符合人类的思维方式。人类就是以“对象”的方式去认识世界的。所以面向对象更容易让我们接受。
面向对象的优点:耦合度低,扩展力强。

使用面向对象编程思想开发系统,在现代开发中会将面向对象贯穿整个过程,一般包括:OOA/OOD/OOP。
    OOA:面向对象分析(Object-Oriented Analysis)
    OOD:面向对象设计(Object-Oriented Design)
    OOP:面向对象编程(Object-Oriented Programming)

面向对象的三大特点:封装,继承,多态。任何一个编程语言都包括这三个特征。
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值