Java基础(六)★方法★面向对象★重载★重写

方法/函数

为了实现某段代码的重复利用

格式

修饰符 返回值类型 方法名(参数列表){

方法体;

return 返回值;

}

注意:

1.如果函数没有返回值,那么返回值类型定义为void

2. return之后的代码就执行不到了一个函数一旦return,那么后续代码就不再执行了

3. 任何一个实体方法内都可以写return

练习:

1. 判断质数

2. 1000以内的亲密数— A的所有因子(包含了1而不包含本身)之和等于B,并且B的所有因子(包含1而不包含本身)之和等于A,那么AB就是一对亲密数

3. 任何一个大于等于6的偶数都可以分解为两个质数之和。

6= 3 + 3;

14 = 3 + 11 = 7 + 7

18 = 5 + 13 = 7 + 11

方法的重载

当同一个类内出现了方法名一致而参数列表不同的方法的时候,构成了方法的重载。方法名一致而参数列表不同方法名+参数列表方法签名

方法在调用的时候会进行最优匹配找参数类型最符合的进行匹配。如果进行方法的重载,尽量重载所有的情况,以防出现调用混乱的情况

方法的递归

函数调用自己本身就形成了递归。

练习:用递归求阶乘

n! = n* (n – 1)(n-2)…1  5 = 5 * 4 * 3 * 2 * 1 = 120

StackOverflowError—栈溢出错误反应函数在栈中执行函数在执行完成之前不会释放栈内存递归的次数太多,就会出现这个错误

 

Java基础(六)★方法★面向对象★重载★重写注意:在传递参数的时候,对于基本类型而言,传递的实际值;对于引用类型而言,传递的是地址。—只要地址不发生改变,函数中一切变化会作用于原数组

开发软件:Eclipse—日食

IDE—智能开发工具

Luna—Mars—Neon

绿色的,基于插件的,免费的,开源的

IDEA–Intelli J

MyEclipse

Alt+/ 快速提示键


面向对象

面向对象是相对面向过程而言的。面向过程注重的是过程,强调的是动作;面向对象注重的是对象,只要找到了对应的对象,那么就自然拥有了对象所具有的一切功能

Java基础(六)★方法★面向对象★重载★重写

根据一类事物进行抽取,将这一类事物用一个类表示,同时将这一类事物的共有特征抽取成属性,将这一类事物的共有行为抽取成了方法—将这些属性和方法放到了一个类中,用这个类表示这一类的事物—类是对象的抽取
/概括

根据类利用new关键字去创建该类对象的对象(实例),并且可以为对象的对应属性赋值,也可以去调用对应的方法对象是类的实例化/具体化

对象在内存中的存储

Java基础(六)★方法★面向对象★重载★重写

Java基础(六)★方法★面向对象★重载★重写

静态变量

static修饰变量静态变量,也叫类变量随着类的加载而加载到了方法区中的静态区,并且在静态区中自动赋予了一个默认值。静态变量先于对象而存在,所以静态变量可以不通过对象而通过类来调用,也可以通过对象来调用。该类产生的所有的对象实际上存的是该静态变量在静态区中的地址,静态变量是被所有对象所共享的。

静态变量是先于对象而存在,所以静态变量可以不通过对象而通过类名来调用

System.out  System.in

 

Java基础(六)★方法★面向对象★重载★重写

静态变量可以定义到静态方法中吗/span>—不可以静态方法在静态区中只存储不执行

静态方法中可以直接调用本类中的非静态方法吗/span>—不可以

能在主函数中使用this或者super吗/span>不可以

静态方法可以重载吗/span>—可以

Arrays.sort()

静态方法可以重写(覆盖)吗/span>—不可以

父子类中可以存在方法签名完全一致的静态方法吗/span>—可以

静态看的是声明类,非静态看的是实现类—可以如果父子类中存在了方法签名完全一致的方法,要么都是静态的,要么都是非静态的。

静态代码块

static{}包括起来的代码

在这个类第一次被真正使用(第一次创建对象/调用方法)的时候执行一次。

执行顺序:

先父后子,先静后动——-父类静态->子类静态->父类非静态->子类非静态

 

Java基础(六)★方法★面向对象★重载★重写

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91534 人正在系统学习中

来源:SHEN_DEMO

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年2月24日
下一篇 2018年2月24日

相关推荐