方法/函数
为了实现某段代码的重复利用
格式
修饰符 返回值类型 方法名(参数列表){
方法体;
return 返回值;
}
注意:
1.如果函数没有返回值,那么返回值类型定义为void
2. return之后的代码就执行不到了—一个函数一旦return,那么后续代码就不再执行了
3. 任何一个实体方法内都可以写return
练习:
1. 判断质数
2. 1000以内的亲密数— A的所有因子(包含了1而不包含本身)之和等于B,并且B的所有因子(包含1而不包含本身)之和等于A,那么A和B就是一对亲密数
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—栈溢出错误—反应函数在栈中执行—函数在执行完成之前不会释放栈内存—递归的次数太多,就会出现这个错误
注意:在传递参数的时候,对于基本类型而言,传递的实际值;对于引用类型而言,传递的是地址。—只要地址不发生改变,函数中一切变化会作用于原数组
开发软件:Eclipse—日食
IDE—智能开发工具
Luna—Mars—Neon
绿色的,基于插件的,免费的,开源的
IDEA–Intelli J
MyEclipse
Alt+/ 快速提示键
面向对象
面向对象是相对面向过程而言的。面向过程注重的是过程,强调的是动作;面向对象注重的是对象,只要找到了对应的对象,那么就自然拥有了对象所具有的一切功能
根据一类事物进行抽取,将这一类事物用一个类表示,同时将这一类事物的共有特征抽取成属性,将这一类事物的共有行为抽取成了方法—将这些属性和方法放到了一个类中,用这个类表示这一类的事物—类是对象的抽取
/概括
根据类利用new关键字去创建该类对象的对象(实例),并且可以为对象的对应属性赋值,也可以去调用对应的方法—–对象是类的实例化/具体化
对象在内存中的存储
静态变量
static修饰变量—静态变量,也叫类变量—随着类的加载而加载到了方法区中的静态区,并且在静态区中自动赋予了一个默认值。静态变量先于对象而存在,所以静态变量可以不通过对象而通过类来调用,也可以通过对象来调用。该类产生的所有的对象实际上存的是该静态变量在静态区中的地址,静态变量是被所有对象所共享的。
静态变量是先于对象而存在,所以静态变量可以不通过对象而通过类名来调用
System.out System.in
静态变量可以定义到静态方法中吗/span>—不可以—静态方法在静态区中只存储不执行
静态方法中可以直接调用本类中的非静态方法吗/span>—不可以
能在主函数中使用this或者super吗/span>—不可以
静态方法可以重载吗/span>—可以
Arrays.sort()
静态方法可以重写(覆盖)吗/span>—不可以
父子类中可以存在方法签名完全一致的静态方法吗/span>—可以
静态看的是声明类,非静态看的是实现类—可以—如果父子类中存在了方法签名完全一致的方法,要么都是静态的,要么都是非静态的。
静态代码块
用static{}包括起来的代码
在这个类第一次被真正使用(第一次创建对象/调用方法)的时候执行一次。
执行顺序:
先父后子,先静后动——-父类静态->子类静态->父类非静态->子类非静态
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91534 人正在系统学习中
来源:SHEN_DEMO
声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!