Day06第六天java基础------------面向对象

------- android培训java培训、期待与您交流! ----------

1、static静态关键字:
         (1)、是一个修饰符,用于修饰成员(成员变量,成员函数)
         (2)、静态修饰的内容被对象所共享,可以节省内存。
         (3)、当成员被static修饰后就多了一个调用的方式,不但可以被对象调用 还可以被类所调用。
                 格式:类名.成员变量
         (4)、static是提取出对象共有的内容 ,对象特有的内容随对象而存储
2、内存中的方法区:
         在方法区中存放着方法 有静态的也有非静态的。其中静态的方法区是共享数据的。
3、static的特点:
       (1)、随着类的加载而加载,类一加载其中的static方法就在方法区中开辟好了空间,
                   最后随着类的消失而消失。
       (2)、被所有对象共有。
       (3)、优先于对象存在。
       (4)、可以直接被类名调用。
                    被static修饰后的成员生命周期是最长的,
                    在对象中的数据存在共享数据和特有数据。
   static成员是先存在的,对象是后存在的 ,所有不能用对象去调用static修饰过的成员,
   因为在static存在时,对象还没有生成。
4、实例变量和类变量的区别:
                (1)、存放的位置不同:
                                   类变量随着类的加载而加载,并存在方法区中。
                                   实例变量时随着对象的建立而存储在堆内存中的。
                (2)、生命周期:
                                   类的生命周期最长,因为是随着类的加载而加载 随着类的消失而消失。
                                   实例变量时随着对象的创建而建立 随着对象的消失而消失的。
5、静态使用注意事项:
               (1)、静态方法只能访问静态的成员不能访问非静态成员(包括变量和方法)
                            而非静态成员既可以访问非静态也可以访问静态的。
               (2)、静态方法中不可以出现this关键字 因为静态方法是优先于对象存在的 所以要使用super的
                           关键字。
6、使用静态的利与弊:
             利:对对象可以共享数据 进行单独空间的存储,没有必要每个对象都要存储一份的共有数据。
                    一遍节省内存空间,并且可以用类名直接调用。
             弊:生命周期过长,而且访问的时候出现限制 只能是静态访问静态不可以用非静态进行范访问。
7、主函数式静态的:
            主函数式一个特殊的函数,作为程序的入口,可以被jvm所调用。
                     public staitc void main(String args[])各部分代码的意义:
                     public:是表示该函数的访问权限最大是public类型的。
                     static:是说明该函数式静态的。随着类的加载就已经存在了。
                     void:是说明这个函数的返回值。
                    main:不是关键字,但是一个特殊的单词。可以被jvm所识别。
                 (String args[]):函数的参数列表,说明参数的类型为一个数组类型的,该数组中的元素是字符
                                              串,字符串类型的数组。
            主函数式固定的格式 是为了让jvm所识别。
 主函数也可以被重载:
 代码如下:
 class main
 {
  public static void main(String args[])   //主函数。
  {}
  public void main()   // 主函数被重载
  {}
 }
8、args是参数:

             是arguments的缩写,java在调用主函数的时候是传递的是 new String[0]。
9、什么时候使用static:
 因为静态修饰的是成员 包括变量和函数
             (1)、使用静态变量(类变量):
                                在对象中出现了共享数据的时候就用static来定义存在于方法区中,而对象中特有
                                的变量就用非静态的来修饰,存在于堆内存中。
             (2)、使用静态函数:
                                当功能的内部没有出现访问非静态的数据(对象的特有数据)的时候就使用static来说

                                修饰。
10、静态的应用:
                   没一个应用程序中都有共性的功能,可以吧这些共性的功能抽取出来,独立封装,以便复用。
                   在定义方法的时候可以定义成静态的,因为静态的方法不用建立对象,而直接用类名调用就可

                   以使用。

11、javadoc的制作:
                   使用命令行方式进行 javadoc -d @author @version 名字
12、默认的构造函数的权限是随着类的变化而变化的。
13、静态代码块:

                    随着类的加载而加载,而且只执行一次,并优先于主函数用于给类进行初始化。
 示例代码:static code();//不执行因为没有创建它所对应的对象。
    static code(int x)//执行构造函属给对应的对象进行初始化的。
    static(){}//静态代码块是给类进行初始化的。
    {}//是构造代码块是给对象进行初始化的
14、程序的执行步骤:
 Person p = new Person();

                先加载内存,然后执行静态代码块(如果有的话)然后再开辟空间,然
                后是默认初始化,在后是现实初始化,构造代码块初始化,构造函数初始化。

你可能感兴趣的:(java基础)