Day30-方法的分类和调用
方法的分类:
//静态方法 有static
//非静态方法 没static
方法的调用:
静态方法的调用:
语法:
同一包中的不同类调用静态方法:
类名.方法名 ClassB.staticMethod()
通过类名直接调用
package com.example;
class ClassA {
public static void main(String[] args) {
ClassB.staticMethod();
}
}
class ClassB {
public static void staticMethod() {
System.out.println("This is a static method in ClassB");
}
}
- 这里
ClassA
的main
方法,通过ClassB.staticMethod()
的形式,调用了ClassB
中的静态方法staticMethod
。
示例:
如果在Student类里面,有一个静态方法:
package com.liu.oop.demo01;
//类:Student
public class Student {
public static void say(){
System.out.println("学生说话了");
}
}
如何在Demo02里调用?
package com.liu.oop.demo01;
public class Demo02 {
public static void main(String[] args) {
//如果是静态方法:
Student.say();//学生说话了
}
}
同一包中的同一类调用静态方法和上面相同!!!!!
非静态方法的调用
同一包不同类调用非静态方法:
语法:
package com.example;
class ClassA {
public static void main(String[] args) {
ClassB obj = new ClassB();
obj.nonStaticMethod();
}
}
class ClassB {
public void nonStaticMethod() {
System.out.println("This is a non - static method in ClassB");
}
}
- 在
ClassA
的main
方法中,要实例化,就是通过new ClassB()
创建了ClassB
的一个对象obj
,然后使用obj.nonStaticMethod()
来调用ClassB
中的非静态方法nonStaticMethod
。
示例:
//被调用的类
package com.liu.oop.demo01;
//类:Student
//非静态方法
public class Student {
public void say(){
System.out.println("学生说话了");
}
}
//调用的类
package com.liu.oop.demo01;
public class Demo02 {
public static void main(String[] args) {
//如果是非静态方法:将被调用类类实名化 new关键字
//对象类型 对象名=对象值
Student student = new Student();
student.say();//学生说话了
}
}
同一包同一类的非静态方法调用:
示例:
package com.liu.oop.demo01;
public class Demo03 {
public static void main(String[] args) {
}
//加法
public int add(int a,int b){
return a+b;
}
}
在上面的代码里面,创建了add方法来计算两个数的和
如何在main方法里面,调用该方法来计算1+2?
下是在main
方法中调用add
方法来计算1
和2
的和的步骤:
调用步骤:
-
创建对象:
因为add
方法是非静态方法,它是与类的实例相关联的,所以首先需要在main
方法中创建Demo03
类的对象。示例代码如下:package com.liu.oop.demo01; public class Demo03 { public static void main(String[] args) { // 创建Demo03类的对象 Demo03 demo03Obj = new Demo03(); } //加法 public int add(int a, int b) { return a + b; } }
在上述代码中,通过Demo03 demo03Obj = new Demo03();
语句创建了Demo03
类的一个对象demo03Obj
。
2.调用 add 方法:
在创建好对象之后,就可以通过该对象来调用add
方法了。继续在main
方法中添加以下代码来实现计算1
和2
的和:
package com.liu.oop.demo01;
public class Demo03 {
public static void main(String[] args) {
// 创建Demo03类的对象
Demo03 demo03Obj = new Demo03();
// 通过对象调用add方法计算1和2的和
int result = demo03Obj.add(1, 2);
System.out.println("1和2的和为:" + result);
}
//加法
public int add(int a, int b) {
return a + b;
}
}
在上述扩展后的代码中,通过demo03Obj.add(1, 2);
语句调用了add
方法,并将返回的结果存储在变量result
中,最后通过System.out.println()
输出了计算结果。运行程序后,控制台将显示1和2的和为:3
。