本次将通过方法的作用、参数、返回值这三个方面来对构造方法、静态方法进行总结。
1.构造方法
1.1构造方法的作用
构造方法通常有两个作用:1是初始化对象,2是初始化实例变量。
构造方法在调用时是通过创建对象时使用"new"关键字进行操作。
1.2构造方法的参数
构造方法分为无参构造方法和有参构造方法。
class Employee{
}
class Employee{
public Employee() {
}
}
以上两种都为无参构造方法。
第一种是默认的无参构造方法,第二种是手动给出的无参构造方法。
无参构造方法即没有参数,在子类调用父类的方法时,要先创建一个父类的对象,此时无参构造方法就会自动帮你创建好,可以直接调用到父类的方法。
class Employee {
public Employee(int m) {
}
public Employee(int m, int n) {
}
public Employee(String name) {
}
public Employee(int m, String name) {
}
}
此为有参构造方法。
有参各构造方法的参数可以有多种,可以根据自身的需求对有参构造方法进行重载,根据返回参数的不同对其进行更为细致的区分。
而一个类在没有手动给出构造方法的时候,都会自己默认有一个无参构造方法。
每个类最少有一个无参构造方法,有参构造方法根据各人的需求不同进行创建。
1.3构造方法的返回值
构造方法同意都没有返回值。
构造方法的方法名必须与类名一致!
2.静态方法
2.1静态方法作用
class Employee {
public static void choose() {
}
}
此为一个基本的静态方法。
使用"static"关键字进行修饰的方法称为静态方法。
public class test {
public static void main(String[] args) {
// 通过类名直接调用静态方法
Employee.choose();
// 通过类名调用静态成员变量
System.out.println(Employee.num);
// 通过实例对象调用静态方法
Employee emp = new Employee();
emp.choose();
}
}
class Employee {
// 静态成员变量
static int num = 99;
// 静态方法
public static void choose() {
}
}
静态方法既可以通过实例变量进行访问也可以直接通过类名对静态方法进行访问。因为静态方法是属于class级别的,不属于实例对象。
public class test {
public static void main(String[] args) {
todo();
}
public static void todo() {
}
}
如果静态方法与当前main方法在同一个类中,可以直接进行调用。
静态方法只能访问静态成员变量或者静态方法,不能访问其他成员变量或其他方法。
class Example {
// 普通的成员变量
public int value;
// 静态的成员变量
public static int result;
// 普通方法
public void todo() {
// 允许访问
System.out.println("普通的成员变量value=" + value);
System.out.println("静态的成员变量result=" + result);
// 允许访问静态方法
dosth();
}
// 静态方法
public static void dosth() {
// 仅允许访问静态的成员变量
System.out.println("静态的成员变量result=" + result);
// 不允许访问普通的成员变量(实例成员变量)
// System.out.println("普通的成员变量value=" + value);
// 仅允许访问静态的方法
test();
// 不允许访问普通的方法
// todo();
}
}
2.2静态方法的参数
public static void todo() {
}
public static void todo(int m) {
}
public static void todo(int m,String name) {
}
public static void todo(int m,int n) {
}
public static void todo(String name, int n) {
}
静态方法也可对其进行重载,可以根据自身的需求有不同的参数类型。
2.3静态方法的返回值
静态方法可以 无参 无返回值
public static void todo() {
System.out.println("just do IT");
}
无参 有返回值
public static String todo() {
String result1 = "Just";
String result2 = "Do IT";
String result3 = result1 + result2;
return result3;
}
有参 无返回值
public static void todo(String num) {
num = "Just";
String result1 = "Do IT";
String result2 = num + result1;
System.out.println(result2);
}
有参 有返回值
public static String todo(String num) {
num = "Just";
String result1 = "Do IT";
String result2 = num + result1;
return result2;
}