首页 > 解决方案 > 无法解析同一类但在静态方法内的变量

问题描述

我的问题:“返回 ipAddr” ipAddr 无法解析为变量。那么,这是因为该方法是静态的吗?

package oop.address;

    import java.net.InetAddress;

    public class address {

        public static  address createIP(String ip) {

            try {
                InetAddress ipAddr = InetAddress.getByName(ip);
            } catch (Exception e) {
                System.out.println("Fehler");
            }

                return null;
        }

         public  InetAddress get_ipAddr(){

            return ipAddr;
        }

    }

标签: javaclassstatic

解决方案


那么,这是因为该方法是静态的吗?

不,该方法是静态的这一事实与它无关。问题是它ipAddr是在 中创建的createIP(),因此只存在于方法的范围内。我相信你想让它成为一个类变量:

private static InetAddress ipAddr;

public static  address createIP(String ip) {
     try {
         ipAddr = InetAddress.getByName(ip);
     } catch (Exception e) {
         System.out.println("Fehler");
     }
     return null;
}

推荐阅读