栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java15

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java15

static 定义方法

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;
    }
    //setter,getter略
    public static void setCountry(String c){
        country = c;
    }
 }
 public String getInfo(){
     return "姓名:"+ this.name +"、年龄:"  +this.age + "、国家:"+ this.country;   
     }
  }
 public class JavaDemo{
     public static void main(String [] args){
         person.setCountry("中华人民共和国");
         Person perA = new Person("张三",10);
         System.out.println(per.getInfo());
     }
 }

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

  • static方法只允许调用属性或static方法
  • 非static方法允许调用static属性或static方法

所有的static定义的属性和方法都可以在没有实例化对象的前提下使用,而所有的非static 定义的属性和方法必须要有实例化对象的情况下才可以使用。
如果说现在可以理解这个限制,那么对于之前的方法定义就可以得出新的结论:在最早讲解方法的时候强调过“当前定义的方法都是在 主类中定义的,并且由主方法调用的”

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

static应用

编写一个程序类,这个类可以实现实例化对象的个数的统计,每一次创建新的实例化对象都可以实现一个统计操作:
此时可以创建一个static属性,因为所有的对象都共享一个static属性,那么在构造方法中可以实现数据的统计处理。

class Book{
    private String title;
    private ststic int count = 0;
    public Book(String title){
        this.title = title;
        count ++;
        System.out.println("第"+count+"本图书创建出来");
  }
}
public class JavaDemo{
    public static void main(Stirng [] args){
        new Book("java");new Book("JSP");new Book("Spring");
   }
}

实现属性的自动命名处理:
如果现在传递了title属性,就使用传递的属性内容,而如果没有传递title属性,则自动采用"NOTIYLE-编号"的形式进行该属性内容的定义。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/490508.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号