Java基础学习:面向对象02(重点看:引用传递)
-
回顾方法的定义:
-
方法的定义:
-
修饰符
-
返回类型
-
方法名:注意规范,见名之意
-
参数列表:参数类型,参数名 (可变长参数)**
-
异常抛出:
-
数组下标越界异常:ArrayindexOutofbounds
-
-
break和return的区别:
-
break:跳出switch;结束循环;
-
return:代表方法结束;return后面也可以不带参数;
-
-
-
-
回顾方法的调用:
-
方法的调用:递归
-
静态方法
-
非静态方法
-
-
值传递和引用传递:
-
Java都是值传递;
-
-
this关键字
-
-
-
代码:静态方法,非静态方法
//静态方法,非静态方法
public class Demo02 {
public static void main(String[] args) {
/**
* 调用方法:有两种方式:
* 1,如果方法是静态方法(被static修饰):可以直接用类名. Student.say();
* 2,如果是非静态方法:只能实例化类(new对象),用对象调用
*/
Student.say(); //静态方法修饰,直接类名.
//实例化这个类 new
//对象类型 对象名=对象值;
Student student=new Student();
student.study();//非静态方法,对象.
}
/**
* 重点:
* 1,2个方法都没有被static修饰,方法可以直接调用;
* 2,2个方法都被static修饰,方法也可以直接调用;
*
* 3,如果一个方法被static修饰,一个没有:
* (3.1)则没有static的方法可以调用static方法;
* (3.2)有static方法不能调用非static方法;
*
*4,原因:static和类一起加载;所以非static方法只能等类实例化后,才会存在
*
*/
public static void a(){
}
public void b(){
a();
}
}
-
代码2:形式参数和实际参数
public class Demo03 {
public static void main(String[] args) {
Demo03 demo03=new Demo03();
int sum=demo03.add(1,2);
System.out.println(sum);
}
public int add(int a ,int b){
return a+b;
}
}
-
代码3:引用传递
//一个类里面可以有多个class,但是只能有一个public class
public class Demo05 {
public static void main(String[] args) {
//引用传递:一般是传递一个对象;本质还是值传递
Person person=new Person();
System.out.println(person.name);
System.out.println("--------------");
change(person);
System.out.println(person.name);//haha
}
public static void change(Person person ){
//Person是一个对象:指向的--->Person person=new Person();这是一个具体的人,可以改变属性
person.name="haha";
}
}
//定义了一个Person类,有一个属性name
class Person{
String name ;//默认值为Null
}
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律