博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
方法与方法重载,方法重写
阅读量:6407 次
发布时间:2019-06-23

本文共 1888 字,大约阅读时间需要 6 分钟。

方法是类或对象的行为特征的抽象,方法是类或对象最重要的组成部分。

a构造方法:(可带参,可无参)

①该方法没有返回值

②该方法名必须和类名一致

注:一个类中允许出现多个同名但不同参的方法,这种方法叫方法重载。方法重载与返回值和访问修饰符无关。

每个类都有一个默认的无参构造方法,当有参构造方法时,默认无参的会被覆盖掉,要把无参方法写出来才能继续使用无参方法。

方法重载:

方法重载是让类以统一的方式处理不同类型数据的一种手段。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法。

1 package  test; 2  3 public class Student{ 4  5 String name; 6  7 int age; 8  9 //默认的无参构造方法10 11 public Student(){}12 13 //方法重载14 15 public Student(String name,int age){16 17      this.name=name;18 19      this.age=age;20 21 }22 23 }      

 方法重写:

子类可以定义新的特征,当子类需要修改父类的一些方法进行扩展,增大功能,程序设计者常常把这样的一种操作方法称为重写,也叫称为覆写或覆盖。

子类继承了父类的方法后,要对父类的方法进行改写 要求除了方法体之外,其他的必须一致(就近原则)

1 public class PetAnimal {2     String name;//宠物名字3     int health;//健康值4     int intimacy;//亲密度    5     public void ShowInf(){        6         System.out.print("我的名字叫"+name+",健康值是"+health+",亲密度是"+intimacy+",");7     }8 9 }
1 //继承PetAnimal父类 2 public class Penguin extends PetAnimal{ 3     String sex;//性别 4     //重写父类的ShowInf()方法,输出自己的性别变量 5     public void ShowInf(){ 6                  System.out.print("我的性别是"+sex); 8     } 9 10 }

 

方法重写与方法重载的区别

 

static可以修饰:

1:静态成员变量

 2:静态成员方法

3:静态代码块

4:静态内部类

5:静态导包 

注:实例方法中不能创建静态变量    

static与非static的区别:

①         static修饰的成员是随着类的加载而加载(优先)

 *             static成员是随着对象的创建而加载

②            静态方法|静态代码块只能调用静态成员,非静态成员是不能直接调用的,创建对象(不能使用this关键字)

 *             非静态方法可以直接调用非静态成员,也可以调用静态成员.类的对象进行调用静态成员

 ③          静态成员对于多个对象而言是共享的

 *             非静态成员对于多个对象是彼此独立的

 

不定长参数:

语法: 类型...参数名

①参数的长度不一定(0-N)

②必须写在参数列表的末尾

//不定长参数 1 public void test(int d,int...num){2         for(int i=0;i

 

递归函数:在一定程度上可以为循环

 *        自己调用自己本身的方法被称为递归函数

 *        *** 最重要的就是递归何时结束!

1 //递归实现斐波那契数列 2 //0 1 1 2 3 5 8 13 21 3     public int rec(int num){         4         if(num==1){             5             return 0; 6         } 7         if(num==2){             8             return 1; 9         }                                10         return rec(num-1)+rec(num-2);    11         12     }

递归函数运行图解

 

转载于:https://www.cnblogs.com/TFE-HardView/p/10939856.html

你可能感兴趣的文章
Linux VFS
查看>>
ext不能选中复制属性_如何实现Extjs的grid单元格只让选择(即可以复制单元格内容)但是不让修改?...
查看>>
python中print的作用*8、不能+8_在 Python 3.x 中语句 print(*[1,2,3]) 不能正确执行。 (1.0分)_学小易找答案...
查看>>
python 生成html代码_使用Python Markdown 生成 html
查看>>
axure如何导出原件_Axure 教程:轻松导出图标字体所有图标
查看>>
laravel input值必须不等于0_框架不提供,动手造一个:Laravel表单验证自定义用法...
查看>>
cad填充图案乱理石_太快了吧!原来大神是这样用CAD图案填充的
查看>>
activator.createinstance 需要垃圾回收么_在垃圾回收器中有哪几种判断是否需要被回收的方法...
查看>>
rocketmq 消息指定_RocketMQ入坑系列(一)角色介绍及基本使用
查看>>
redis zset转set 反序列化失败_掌握好Redis的数据类型,面试心里有底了
查看>>
p图软件pⅰc_娱乐圈最塑料的夫妻,P图永远只P自己,太精彩了吧!
查看>>
jenkins 手动执行_Jenkins 入门
查看>>
怎么判断冠词用a还是an_葡语干货 | 葡萄牙语冠词用法整理大全
查看>>
js传参不是数字_JS的Reflect学习和应用
查看>>
三个不等_数学一轮复习05,从函数观点看方程与不等式,记住口诀与联系
查看>>
卡尺测量的最小范围_汽车维修工具-测量用具
查看>>
网优5g前景_5G网络优化师前景怎么样?
查看>>
竞态条件的赋值_[译] part25: golang Mutex互斥锁
查看>>
delmatch oracle_完美完全卸载(清除)oracle数据库的方式(方法)
查看>>
pyqt 滚动条 美化_Pyqt5 关于流式布局和滚动条的综合使用示例代码
查看>>