can we declare an overloaded method as static and another one as non-static?

Yes, we can declare an overloaded method as static and another one as non-static.
Example

class SubtractionTest {
 
    public void subtraction(int num1, int num2) {
        System.out.println(num1 - num2);
    }
 
    public static void subtraction(int num1, int num2, int num3) {
        System.out.println(num1 - num2 - num3);
    }
 
 }
 
public class Main
{
	public static void main(String[] args) {
		SubtractionTest subtractionTest = new SubtractionTest();
		subtractionTest.subtraction(150, 100);
		SubtractionTest.subtraction(150, 100, 20);
	}
}

Example

50
30

Java interview questions on method overloading and overriding