1.概解
tips:
1.声明函数主要用public/private,public可以在其他函数中访问。
2.public后面跟函数返回类型,void表示无返回值。
3.main函数是自动执行的构造函数,而其他函数除非被调用则不会被自动执行
运行结果:
这里看到虽然我们只是想用login函数的返回值,但是他仍然打印了“登入成功”,这说明只要调用函数,那么会把一整个函数都执行一遍
但如果不主动调用其他函数:
package java基础;public class java_02 {public static void main(String[] args) {A a = new A();System.out.println("a");}
}
class A{public int login(){System.out.println("登录成功");return 1;}}
则不会执行login函数,输出结果(输出的是字符串a):
4.java文件的第一个类为public公共类,java有且只有一个公共类。但是所有类里面都可以写公共函数。
2.变量调用
如果想在main中调用类A中的login函数中的b变量,这样写是会报错的,因为没有办法这样去访问:
那怎么访问呢?
1.把b添加到类A的成员变量里:
class A {String b; // 成员变量public int login() {System.out.println("登录成功");this.b = "123"; // 赋值给成员变量return 1;}
}public class java_02 {public static void main(String[] args) {A a = new A();a.login(); // 必须先调用 login() 初始化 bSystem.out.println(a.b); // 访问成员变量 b}
}
2. 返回多个值:
class LoginResult {int status; //定义变量String b;public LoginResult(int status, String b) { //构造函数传参,在new时就会被调用 this.status = status; //为类成员变量赋值this.b = b;}
}class A {public LoginResult login() {System.out.println("登录成功");String b = "123";return new LoginResult(1, b); // 向LoginResult传参然后返回封装的对象}
}public class java_02 {public static void main(String[] args) {A a = new A();LoginResult result = a.login(); //定义对象并赋值System.out.println(result.b); // 访问 b}
}
3.详解
1.**构造方法(Constructor)** 和 **普通方法(Method)** 的区别:
1. 构造方法(Constructor)
- **名字必须和类名完全一致**(包括大小写)。
- **没有返回类型**(连 `void` 都不能写)。
- **用于初始化对象**(`new` 的时候自动调用)。
✅ **正确示例**:
class A {// 构造方法,名字必须 = 类名(A)public A() {System.out.println("A的构造方法被调用");}
}
调用方式:
A a = new A(); // 自动调用 A() 构造方法
2. 普通方法(Method)
✅ **正确示例**:
class A {// 普通方法,名字可以任意(如 login)public void login() {System.out.println("登录方法");}
}
调用方式:
A a = new A();
a.login(); // 手动调用 login() 方法