zoukankan      html  css  js  c++  java
  • java基础面向对象之static关键字

    java基础面向对象之static关键字

    2017-03-14

     

    1、static关键字定义属性

     1 public class StaticDemo1 {
     2     private String name ;
     3     private int age ;
     4     static String CS = "北京" ;    //使用static声明的属性
     5     public StaticDemo1(String name ,int age){
     6         this.name = name ; 
     7         this.age = age ;
     8     }
     9     public void getInfo(){
    10         System.out.println("姓名:"+this.name+",年龄:"+this.age+",城市:"+this.CS);
    11     }
    12     public static void main(String args[]){
    13         StaticDemo1 sd1 = new StaticDemo1("张三" , 20) ;
    14         StaticDemo1 sd2 = new StaticDemo1("李四" , 24) ;
    15         sd1.CS = "上海" ;
    16         /**
    17          * 使用static声明的对象,只要有一个对象修改了属性值那么所有的都将会修改
    18          */
    19         sd1.getInfo() ;
    20         sd2.getInfo() ;
    21     }
    22 }

     既然static是一个公共属性的概念,那么由一个简单的对象去修改是不合适的,必须要由   类名.属性名 = “” ;来进行访问。

      static声明的属性与非static声明的属性还有一个最大的区别就是,非static声明的属性必须实例化对象之后才可以使用,而static声明的属性不受实例化对象的控制,也就是说在没有实例化对象产生的情况下依然可以使用使用static声明的属性。

     

    1 class Book{
    2     static String pob = "清华大学出版社" ;
    3 }
    4 public class StaticDemo2 {
    5     public static void main(String[] args) {
    6         System.out.println(Book.pob = "北京大学出版社");
    7     }
    8 }

      可以发现static声明的属性有一个特征:虽然定义在类的结构里,但是不受到对象的控制,是独立于类存在的。

    2、static关键字定义方法

      分析:

        所有的非static声明的属性或者方法必须要有实例化产生才可以使用。

        使用static声明的属性或者方法不需要实例化对象就可以使用。

      所以说

        1)使用static声明的方法不可以调用非static声明的属性或方法。

        2)非static声明的方法可以调用static声明的属性或方法。

      

  • 相关阅读:
    a标签实现文件下载
    $(obj).index(this)与$(this).index()异同讲解
    jquery attr处理checkbox / select 等表单元素时只能使用一次的坑
    多元素浮动高度不一致导致的参差不齐问题解决方案
    jQuery插件 -- 图片随页面滚动fixed
    setTimeout异步加载
    jquery中html、text、val回调函数
    如何使文件在django自动执行
    Django如何从Model中获取字段名称——verbose_name
    Django在根据models生成数据库表时报错
  • 原文地址:https://www.cnblogs.com/zbj815/p/6549512.html
Copyright © 2011-2022 走看看