方法,重载,递归,面向对象

方法:
  处理功能的代码段
  
 方法的特点:
  1.方法不能嵌套,定义在类中方法外
  2.不调用不执行
  
 定义:
  1.有返回值类型的方法
   修饰符 返回值类型 方法名(参数列表){
    处理功能的代码段;
    return 返回的结果;
   }
   修饰符: 访问权限修饰符,先默认为public static
   返回值类型: 如果一个方法执行过后需要返回一个结果给调用者,这个方法就应该定义为一个有返回值类型的方法
        方法执行过结果的数据类型(基本|引用数据类型)
   方法名:方法的名字 调用方法的时候需要根据方法名
    标识符符合标识符的命名规范|规则
   参数列表:可以没有参数,可以有多个参数
    方法定义时候|执行过程中,不确定的数据,可以定义在方法的参数列表上
    参数: 数据类型 参数名1,数据类型 参数名2,...(相当于一个局部变量的声明,作用域为当前定义的方法中)
   {}: 实现功能的代码
   return: 1)返回值数据给方法的调用者 2)提前结束方法
   
 方法的调用: 方法名(参数) -->执行方法中的代码
      1.直接调用  方法名(实际参数)  -->无法使用返回值
      2.赋值调用
      3.输出调用  System.out.println(getPI());
   
  2.没有返回值类型的方法
   修饰符 void 方法名(参数列表){
    方法体语句;
    [return;] 可以选择性的添加
   }
   void:没有返回值类型的方法
   return: 提前结束方法
   调用方式: 直接调用

例子:

方法的重载:
  重载是方法重要的特性
  一个类中多个方法,方法名相同,参数列表不同|方法签名不同,这些方法就构成方法的重载特性
  
  方法签名: 方法名+参数列表  方法名(参数)
  
  参数列表不同:
   1.参数的类型不同
   2.参数的个数不同
   3.不同类型的参数的位置|顺序不同
   
  重载方法与修饰符无关;重载方法和返回值类型|有无返回值无关;方法的重载和参数的名字无关
  
  重载方法如何调用: 根据实参进行决定
   
  类中的方法其实是封装的一种体现,方法的重载就是多态的体现

方法的递归:

递归头: 停止自己调用自己的条件
  递归体: 自己调用自己
  
  临界条件: 递归头
  递归前进段:从弟子调用自己到临界条件之间
  递归后推段:结果返回给调用的上一层

例子:

面向过程与面向对象之间的区别:
  都是思想,思维方式
  面向过程:"我该如何实现?" 然后一步一步完成就可以了
  面向对象:"我该招谁来完成?"只关注对象,不关注实现步骤
  面向对象是依托于面向过程的
  
 面向对象的优点:
  1.可以将复杂的问题简单化
  2.更贴近与现实生活的的思维方式
  3.面向对象更贴近于管理者的角度,面向过程贴近与执行者
  
 面向对象提出2个概念:
  让生活与程序建立联系,类,对象
  类: 一系列事物的模板|图纸 ,一系列事物|对象抽取出共性定义在类中,根据这个类创建的对象都具有这些特性
  对象: 生活中真实存在的每一个事物  粉色 路虎
  先定义类,才能根据类构建对象  先有图纸才有车

原文地址:https://www.cnblogs.com/lingxi2b2/p/11925050.html

时间: 2024-10-07 19:01:36

方法,重载,递归,面向对象的相关文章

02-14 面向对象--方法重载、隐藏

在面向对象思想中,由于基本特性--继承所致,产生了子类继承父类的关系,所以出现重载方法. 由于子类对象同事“汇聚了”父类和子类的方法所有公共方法,而C#并未对子类和父类的方法名称过多的 加以限制,因此会出现一些问题. 如果子类中的某个方法与父类方法的签名一致(即方法名和方法参数一样),那当通过子类对象访问此方法时,访问的是子类方法还是父类方法? 这就需要先从子类方法和父类方法之间的关系说起,总的来说,子类方法和父类方法之间的关系可以概括为一下三种. 扩充:子类方法,父类没有: 重载:子类有父类的

附录A培训实习生-面向对象基础(3):方法重载

就上一篇代码而言,你如果写Cat cat = new Cat();会直接报错错误 : 1       “Cat”方法没有采用“0”个参数的重载 E:\大话设计模式学习\BigDesignPatterns\附录A培训实习生之面向对象基础\动物运动会\AnimalGames\Form1.cs       20     23     AnimalGames 原因就是必要给小猫起名字.如果当真需要不起名字也要生出小猫来,可以采用方法重载. 方法重载提供了创建同名的多个方法的能力,但这些方法需使用不同的参

java面向对象编程(六)--四大特征之继承、方法重载和方法覆盖

一.继承 1.继承的概念 继承可以解决代码复用,让我们的编程更加靠近人类思维.当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过extends语句来声明继承父类.语法如下: class 子类 extends 父类 这样,子类就会自动拥有父类定义的某些属性和方法.另外,并不是父类的所有属性.方法都可以被子类继承.父类的public修饰符的属性和方法,protected修饰符的属性和方法,默认修饰符属

js面向对象编程:如何实现方法重载

js中如何实现方法重载?这涉及到三个问题 1同名函数的调用问题 2函数中特殊的参数arguments 3如何利用arguments实现方法重载 1同名函数的调用问题 都知道在js中如果存在多个名称相同的函数,则调用实际每次都只使用最后一个,js其实是没有重载的,也就是说,如果定义了多个同名的函数,单参数不一样,在调用时,js不管参数个数,只管前后顺序 例如: function test1(arg1) { alert("参数1:"+arg1); } function test1(arg1

什么是可变长度的参数,方法重载,递归

什么是可变长度的参数 a)         类似于public int add(int ... num){} i.              使用这种可变长度的参数,我们可以在实参位置输入不定个数的值>=0个 ii.              当然可变参数前仍可以添加其它的参数 b)        类似于public int add(double num1,int ... num2){} i.              一个方法中可变参数只能放在最后,并且有且仅有一个,使用时和数组类似,相当于将

【面向对象】方法重载(转载)

[面向对象]方法重载 方法重载 1)方法重载:在同一个类的内部,方法名相同,参数不同 参数不同:指参数的类型.顺序(类型).个数不同 跟参数的名字无关 案例: public class Demo10 { //设计一个计算器类,实现加法的操作,通过方法重载的方式,让类实现不同数据(int,double)的加法运算 public static void main(String[] args){ AddUtil addUtil = new AddUtil(); int sum1 = addUtil.a

面向对象(类,实例变量,方法定义,方法重载,构造方法,this,string类)

面向对象 类是由属性和方法组成 类是所有创建对象的模板 实例变量有默认值 实例变量至少在本类范围中有效 实例变量与局部变量冲突时,局部变量优先 类中方法定义类似于函数定义 修饰符 返回值类型 方法名(参数1,参数2) 异常{ 方法体 } 方法重载 参数个数不同 参数类型不同 参数类型相同但是顺序不同 传入参数的不同自动选取相应方法:典型例子system.out.println(整形,字符串等); 构造方法 1.构造方法无返回值 2.不定义的情况下,有默认的空构造方法 3.在对象构造时,被自动调用

(1)构造方法和方法重载 (2)this关键字 (3)方法的传参和递归调用

1.构造方法和方法重载如: Person p = new Person(); - 声明Person类型的引用p指向Person类型的对象 p.show(); - 调用名字为show()的成员方法 1.1 构造方法(重中之重)(1)语法格式 class 类名{ 类名(形参列表){ 构造方法体; } }如: class Person{ Person(){ } } (2)使用方式 a.构造方法的名称与类名完全相同,并且没有返回值类型,连void都不许有: b.当创建新对象时会自动调用构造方法来进行该对

面向过程和面向对象的区别,方法重载和方法重写的区别

先有面向过程,而后退出面向对象 面向过程和面向对象两者都是软件开发思想,先有面向过程,后有面向对象.在大型项目中,针对面向过程的不足推出了面向对象开发思想. 打个比方 蒋介石和毛主席分别是面向过程和面向对象的杰出代表,这样充分说明,在解决复制问题时,面向对象有更大的优越性. 面向过程是蛋炒饭,面向对象是盖浇饭.盖浇饭的好处就是"菜""饭"分离,从而提高了制作盖浇饭的灵活性.饭不满意就换饭,菜不满意换菜.用软件工程的专业术语就是"可维护性"比较好,

疯狂java学习笔记之面向对象(六) - 构造器重载、方法重载和方法重写

一.方法重载(Overload): Java允许同一个类中定义多个同名方法,只要形参不一样就可以,如果同一个类中包含了两个或两个以上方法名相同的方法,但形参列表不同,则被成为方法重载(两同一异). 同时这这里我们需要注意以下两点:  A.方法重载与返回值类型没有任何关系;  B.方法重载与是否有static修饰没有任何关系. 那我们如何才能确定到底调用的哪个方法呢?  A.主调者:明确是谁在调用这个方法,是类还是对象  B.方法名和形参:确定调用哪个方法(由方法名和形参共同决定) 例1: 1 p