美文网首页
14-声明static方法

14-声明static方法

作者: c88bc9f9d088 | 来源:发表于2020-10-24 19:55 被阅读0次

    static关键字也可以进行方法的定义,static方法的主要特点在于,其可以直接由类名称在没有实例化对象的情况下进行调用。

范例:定义static方法

class Person{ //创建所有同一个国家的类
    private String name;
    private int age;  
    private static String country = "中华民国";  // 国家,暂时不封装

    public Person(String name,int age){
        this.name = name;
        this.age = age;
    }
    
    public static void setCountry(String c){
        country = c;
    }

    // setter、getter略

    public String getInfo(){
        return "姓名:" + this.name + 
               "、年龄:" + this.age +
               "、国家:" + country;
    }
}
public class JavaDemo {   //主类
    public static void main(String [] args){
        Person.setCountry("中华人民共和国");
        Person per = new Person("张三",10);
        System.out.println(per.getInfo());
    }
}

    这个时候对于程序而言方法就有了两种:static方法、非static方法,这两个方法之间在调用上就有了限制。

  • static方法只允许调用static属性或static方法;
  • 非static方法允许调用static属性或static方法;
      所有的static定义的属性和方法都可以在没有实例化对象的前提下使用,而所有的非static定义的属性和方法必须要有实例化对象的情况下才可以使用。
      如果说现在可以理解这个限制,那么对于之前的方法定义就可以得出新的结论:在最早讲解方法定义的时候强调过:“当前定义的方法都是在主类中定义的,并且由主方法调用的”。
public class JavaDemo {   //主类
    public static void main(String [] args){
        print();
    }

    public static void print(){
        System.out.println("www.aliyun.com");
    }
}

public class JavaDemo {   //主类
    public static void main(String [] args){
        new JavaDemo().print();
    }

    public void print(){
        System.out.println("www.aliyun.com");
    }
}

    static定义的方法或者是属性都不是你代码编写之初所需要考虑的内容,只有在回避实例化调用并且描述公共属性的情况下才会考虑使用static定义的方法或者是属性。

相关文章

网友评论

      本文标题:14-声明static方法

      本文链接:https://www.haomeiwen.com/subject/vfswmktx.html