方法的回顾
二、回顾方法
package oop.Demo01;
public class Demo01 {
public void main(String[] args) {
}
//修饰符 返回值类型 方法名 参数{方法体} +""return 返回值;
public static String sayHello(){
return "Hello, world";
}
public int max(int a, int b){
return a>b ?a:b; //三元运算符 如果a>b, 返回a,否则返回b
}
}
方法的定义
修饰符
返回类型
break和return的区别:
-
break跳出switch语句,结束循环和return的区别
-
return代表方法结束了,返回一个结果
方法名:注意规范-见名知意+驼峰命名
参数列表: (参数类型 参数名, 参数类型 参数名,···)
抛出异常: 后面解决 throws IOException
方法的调用 递归 static
静态方法static
非静态方法
形参和实参
值传递和引用传递
this关键字
非静态方法想要调用方法,需要new一个对象
静态方法和非静态方法
package oop.Demo01;
public class Demo02 {
//静态方法 static
public static void main(String[] args) {
// student.say(); 非静态方法 不行
//所以需要 实例化这个类 new
student student = new student();
student.say();
//非静态方法想要调用方法,需要new一个对象
}
public static void a(){
b(); // 非静态方法内不能调用静态方法
}
//类实例化之后才存在
public static void b(){
}
//非静态方法
}
package oop.Demo01;
//学生类
public class student {
//定义一个方法 非静态方法 无法直接通过方法名调用方法
public void say(){
System.out.println("学生说话了");
}
}
形参和实参
package oop.Demo01;
public class Demo03 {
public static void main(String[] args) {
int add = Demo03.add(1,2); //1和2才是真实的参数 实参
System.out.println(add); //3
System.out.println(Demo03.add(3,4));
//实际参数/实参和形式参数/形参的类型一定要对应
}
//形参
public static int add(int a, int b){
return a+b;
}
}
值传递
package oop.Demo01;
//值传递:
public class Demo04 {
public static void main(String[] args) {
int a = 1;
System.out.println(a); // 1
Demo04.change(a);
System.out.println(a); //1 为什么还是a呢? 因为 change方法里的a只是一个形参,在change方法里a是10,但是出来之后a还是1
}
//改变一个数字的方法
//返回值为空
public static void change(int a){
a = 10;
}
}
package oop.Demo01;
//引用传递: 对象,本质还是值传递
public class Demo05 {
public static void main(String[] args)
{
Person person = new Person();
System.out.println(person.name); // null
Demo05.change(person);
System.out.println(person.name); //Natsume
}
public static void change(Person person)
{
//person是一个对象,指向的是Person person = new Person();, 这是一个具体的东西,可以改变属性
person.name = "Natsume"; //修改了Person类里的name
}
}
//定义了一个类,叫做Person,Person类里有一个属性,叫做name
class Person{
String name;
}

浙公网安备 33010602011771号