代码之家  ›  专栏  ›  技术社区  ›  ovod

java中同一对象内的对象列表

  •  0
  • ovod  · 技术社区  · 11 年前

    我有下一种情况:

    public class Network {
       protected int mask;
       protected IPv4Address address;
    
       public Network(IPv4Address address, int maskLength) {
        blahblah
       }
       public mymethod() {
        Network[] privatnetworks = {new Network(new IPv4Address("10.0.0.0"), 8), new Network(new IPv4Address("172.16.0.0"), 12)}
    }
    

    在这里,每次我调用我的方法时,我都需要创建对象列表,这对我来说是低效的。我可以创建一次并将其用于我的所有方法吗?对不起,如果这个问题简单或愚蠢,我是一个java新手。

    3 回复  |  直到 11 年前
        1
  •  1
  •   Maroun    11 年前

    制作 Network 一 static 变量,它将只初始化一次。

    static Network[] privatnetworks = {new Network(new IPv4Address("10.0.0.0"), 8), new Network(new IPv4Address("172.16.0.0"), 12)}
    
        2
  •  1
  •   Jens    11 年前

    将变量定义为实例变量:

    public class Network {
       protected int mask;
       protected IPv4Address address;
       Network[] privatnetworks = {new Network(new IPv4Address("10.0.0.0"), 8), new Network(new IPv4Address("172.16.0.0"), 12)}
    
       public Network(IPv4Address address, int maskLength) {
        blahblah
       }
       public mymethod() {
        }
    
        3
  •  0
  •   Dhruv Ramani    11 年前

    使用此项:

    public class Network {
       protected int mask;
       protected IPv4Address address;
    
       private static  Network[] privatnetworks = {new Network(new IPv4Address("10.0.0.0"), 8), new Network(new IPv4Address("172.16.0.0"), 12)}
    
       public Network(IPv4Address address, int maskLength) {
        blahblah
       }
       public mymethod() {
    
    }