美文网首页
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