方法与方法重载以及this关键字的作用

(1)基本数据类型和引用数据类型传参的区别

public class Test {
    public void calc1(int num){
             num=num+1;
     }
     public void calc2(Student student){
             student.age=student.age+1;
     }
     public static void main(String[] args) {
    	 Test test=new Test();
    	 int n=8;
    	 test.calc1(n);
    	 Student stu=new Student();
    	 stu.age=18;
    	 test.calc2(stu);
    	 System.out.println(n+"---"+stu.age);

	}

}
*int n=8;test.calc1(n);是将 int num 赋为 “n”的值,然后调用方法为clac1的方法,num=num+1; num=9; 但是main()方法中要求打印的是 System.out.println(n);,是n的值,其中变量n的并未发生改变,所以输出的还是n 即为8;但是 stu.age=18;赋值是把原对象的引用传递给另一个引用,stu.age的值会受影响
*

基本数据类型,操作传递的是变量的值,改变一个变量的值不会影响另一个变量的值。引用数据类型(类、数组和接口),赋值是把原对象的引用(可理解为内存地址)传递给另一个引用

(2)成员变量和局部变量的区别
(1)在类中定义的变量叫作成员变量(全局变量),在方法中定义的变量叫作局部变量。
(2)局部变量声明赋值以后在使用,成员变量可以不赋值,值就是默认值。例如String类型的默认值是null,
int类型的默认值是0
(3)局部变量只能在当前的方法中使用,在其他方法中不能使用。但是成员变量可以在整个类下每个方法中使用。
(4)在一个方法中局部变量和成员变量重名了,方法中的局部变量会被优先使用,如果想在此方法中使用全局变量,则需要使用this关键字。
(5)在同一个方法中,局部变量不能够重名。

(3)方法重载的特点
1.在同一个类中;
2.方法名一样,但是参数不一样
3.对返回值没有要求
比如:
v

B错误 因为方法名相同,但是参数列表也相同,不符合方法重载的特点

(4)构造方法
构造方法:
(1)创建对象
(2)对象中的属性赋值

构造方法的语法:
访问修饰符 构造方法的名字(构造方法参数列表){
方法体
}
其中构造方法的名字和类名一致。构造方法定义的时候,不需要指定返回值。

public Student(){
//无参构造
}
public Student(String name){
//有参构造
}
如果不想敲的话,可以使用:
构造方法的快捷方式:能够帮助快速的创建类的无参构造方法 和类的有参构造方法。
alt + shift + s ===> 倒数第3个选项(使用属性生成构造方法) ==> 最后把super()代码去掉

构造方法的个数是不定的。构造方法需要多少个参数,需要什么参数,根据你开发的时候,
创建对象的时,想给对象的哪些属性赋值。
如果在方法中调用全局变量怎么办?请使用this关键字。
this关键字的作用:
(1)this关键字能够调用属性。(可以在构造方法中调用 也可以在实例方法中调用)
(2)this关键字调用本类中的方法。 注意:不要调用成死循环了

(3)this关键字调用构造方法。如果在构造方法中使用this关键字调用其他的构造方法,this关键字应该放在构造方法的第一行。注意:请不要调用成死循环了

构造方法:
如果一个类中没有定义构造方法,系统默认会帮助我们创建一个无参构造方法。
如果一个类中已经定义了构造方法,系统不会帮助我们创建一个无参构造方法。
类中一定一定一定要创建一个无参构造方法!!!

定义一个方法的时候,如果方法上没有使用static关键字,那么这个方法就是一个实例方法。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、 1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READmE.文件(md如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值