2020-11-29

方法的重载
在Java中,如果有功能相似,可以使用相同的名字来定义不同功能的方法。这里的不同功能不是主体功能不同,而是参数不同,也就是参数的数据类型、数量、顺序的不同。
public class T(){
public static void main(String[]args){
TT.doSome(); //调用TT里的doSome的方法
}
}
public class TT(){
public static void doSome(){
System.out.println(“do something!!!”);
}
}
这里的类T和TT可以在同一文件夹下的不同的class文件中,其中TT中的println相当于就是方法的重载,TT中的doSome是我来创建的,但是你真正想要的是我的println的东西,相当于我的doSome的方法就是一个外包公司,你想找println干活让它在你的T的类中进行使用,这时候这个println就是一个重载。

方法的递归
递归的含义就是自己对自己进行调用。
public class Re{
public static viod main(String[]args){
doSome();
}
}
public static void doSome(){
System.out.println(“dosome begin”);
**@**doSome();
System.out.println(“doSome over”); //这行的代码永远都执行不到
}
递归在@这里就是调用自己,最上面调用doSome方法,@这里的调用是在本类中的调用他会一直循环着@上面这一行,一直都无法执行到下面的那一行
2当递归的时候程序没有结束条件,一定会发生:栈内存溢出错误:Stack over flow Error,所以递归必须要有结束条件
3递归假设与结束条件,就一定不会发生栈内存溢出错误吗?假设这个条件是对的合法的,递归有时候也会出现栈内存溢出错误,因为有时候递归的太深,栈内存不够,因为一直在压栈
4在实际的开发中不建议轻易的选择递归,能用for循环while代替尽量用循环来做。因为循环效率高耗费的内存小。递归使用不当,会导致JVM死掉
5在实际开发的过程中遇见了溢出错误的解决的方法:第一步:先检查递归的结束条件对不对,如果递归结束条件不对,必须对条件进行进一步的修改,直到正确为止;第二步:假设递归的条件没有问题,这个时候就需要手动调整JVM的栈内存初始化的大小,可以将栈内存的空间调大点;第三步:调整了大小,如果运行时还是出现这个错误,没办法,只能够继续扩大栈的内存大小。
利用递归求1~n的和
public class Re{
public static void mian(String[]args){
int revalue2=sum(3);
System.out.println(revalue2);
}
public static int sum(int n){
if(n==1){
return 1;
}
return n+sum(n-1);
}
}

面向对象
面向对象的概念也就是虚拟世界模拟现实的生活,必须保证模拟一致。面向过程:按步骤逐步完成
对象所做的事情(功能)称之为方法,例如打电话、玩游戏,将多个(两个及其以上)对象找到相同的属性和方法,组合在一起形成一个类。
类与对象的关系
他们之间的关系也就是抽象与具体的关系
编写类的操作步骤
1编写类
语法格式:[修饰符] class 类名{
}
注意:1.修饰符可有可无,如果有暂时编写为public;2.建议类名的每个单词首字母都应该大写这里如果存在需要改名的情况点击shift+F6即可
2编写属性(属性就是成员变量)
语法格式:[修饰符]数据类型 属性名称[=值]
注意:1所有的属性都编写在类中;2属性名称也就是标识符,建议采用驼峰命名法;3当没有对属性赋值的时候,是由默认值的,不同的数据类型的默认值是不相同的。
3编写方法
语法格式:[修饰符]返回值类型 方法名称([参数列表]){
方法体
}
注意:1.编写在类中;2.在面向对象中,暂时将方法的修饰符编写为public,编写测试类就是包含main方法的类

创建对象
创建对象的语法格式:类名 引用名称=new 类名()
若创建过一个对象例如:S1,那么在输出中不可以在main方法中直接访问对象中的属性,因为main方法中没有System.out.println(S1.name);
对于对象中的属性赋值,语法格式:引用名称.属性名称=值,(例如:S1.name=“陈义”;)
对于访问对象中属性语法格式:引用名称.属性名称
对于访问对象中方法语法格式:引用名称.方法名称([参数列表])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值