• static关键字的用法和main函数


    一、static关键字

    1.static修饰成员变量,那么这个变量属于这个类,由这个类创建的对象共享这一

    变量的数据。

    2.static修饰方法,静态方法,静态方法不可以访问非静态的属性和方法

    3.static的一些特点:

    (1)、当使用到类时,类被加载到内存,而静态成员随着类的加载而加载;

    (2)、静态成员可以用类名直接调用,它是优先于对象而存在的;

    (3)、它为所有的对象所共享,都可以来调用。它是先于对象而存在的。

    4.实例变量和静态变量的一些区别:

    (1)实例变量随着对象的产生而被封装在堆内存中,而静态变量随着类的加载而加载到方法区中。

    (2)存储空间不同,生命周期不同。

    (3)静态的方法中不可以定义this super 等关键字,因为静态是先于对象而存在的,this是当前对象的引用

    二、什么时候使用静态

    1、当属于同一个类中的对象拥有共同的数据时,我们可以把存储这个数据的成员变量用static来修饰。

    2、当方法内部没有使用非静态成员时,我们可以把方法定义成为静态方法,直接用类名来调用,简化步骤。

    三、main函数:public  static void main(String[] args){   }

    1.public :是访问权限修饰符,被它修饰代表类或者函数的方法访问权限最大,要想调用和重写必须权限不小于它。

    2.static :说明主函数是随着类的加载而加载的,优先于对象而存在,主函数调用同一个类中函数,必须是静态的。

    3.void :是数据类型,说明它是无返回值类型

    4.main:主函数,它不是一个关键字,但是他能够被java虚拟机所识别,作为程序的入口。

    5.(String[]  args)主函数被java虚拟机调用传进来的形式参数,它的类型为字符串数组,数组中的元素都是字符串,args 是个参数名,它是任意的,可以修改

    你想控制台输入什么,他就输出什么,我们用控制台代替虚拟机向主函数中传递参数,然后打印出结果。

    代码如下:

    public class MainDemo
    {
     public static void main(String[]args)
     {
      for(int i=0;i
      {
       System.out.println(args[i]);
      }
     }
    }

    四、静态工具类

    1.对象是用来封装数据的,只要这个类中有非静态的成员存在,那么就必须创建对象。

    2,一些应用程序存在共性的功能,比如求和、取最值、排序等等,我们可以把这些功能提出出来,单独封装在一个类里,提供给程序员使用,可以把不需要提供的私有化,制作成API文档,作为参考。

    文档注释格式:

    五、静态代码块

    格式:{       执行语句;}

    生命周期:静态代码块是随着类的加载而被加载,随着类的消失而消失

    特点:它优先于主函数而存在     作用:用来对类进行初始化

    并且只被执行一次,可以用来加载一些资源。

    六、对象的初始化过程

    Person p=new Person();

    1、首先用到了Person这个类,就要把它从硬盘加载到内存中

    2、如果有静态代码块,那么静态代码块会随着类的加载而被加载到方法去,静态成员,包括方法和变量都会被加载到方法区。

    3、new创建对象,在堆内存中分配地址,开辟存储空间

    4、在堆中建立对象的特有属性,就是封装类中的非静态成员到堆中,然后对属性进行默认初始化

    5,显示初始化属性,这一步可以在类中进行,直接对特有属性进行赋值。

    6.调用构造代码块的,对所有对象进行初始化

    7、调用构造函数,对相应的对象进行初始化

    8、将内存地址赋值一份给栈中的变量引用,使引用指向该对象。

  • 相关阅读:
    一步一步CCNA之二:路由器特权模式
    uncompress bz2
    Protothreads Lightweight, Stackless Threads in C
    sohu的正版美剧都挺不错的
    Ebot crawler
    大数据时代的创新者们
    technology company
    slogan
    娱乐新闻都怎么搞的,真不给力啊
    售楼小姐比较漂亮
  • 原文地址:https://www.cnblogs.com/warrior4236/p/6055741.html
Copyright © 2020-2023  润新知