如何在其他包的静态方法(ex main 方法)中访问受保护的继承非静态方法?

How to access protected inherited non static method in static method(ex main method) of other package?

通过创建父实例class,我们无法在其他包中访问它的继承方法,因为它不是直接继承。即使直接我们也不能使用非静态,因为我们的子方法是静态的,而父 class 方法不是。前

package classacees;

public class Thread1 {

protected  double sub(double a, double b) {

return (a - b);

}

和...

package example;

import classacees.Thread1;

public class Ece extends Thread1 {

        public static  void main(String[] args) {

double n=sub(3,2);  // error -> cant make a static reference to non static method.
System.out.println(n);

}

首先不能像double n=sub(3,2);那样直接调用实例方法;为此你需要一个对象。

对于您的查询,您可以通过从子实例访问受保护的方法来实现 class:

    public class Ece extends Thread1 {
    public static void main(String[] args) {
        Ece ece = new Ece();
        double n = ece.sub(4, 9);
        System.out.println(n);
    }

}

希望这对您有所帮助..