现在的位置: 首页 > 综合 > 正文

黑马程序员—Java入门学习日记基础篇-面向对象总结3

2018年05月23日 ⁄ 综合 ⁄ 共 1572字 ⁄ 字号 评论关闭

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

- Java面向对象编程知识点总结

一:构造代码块。

  1. 为对象进行初始化,而且优先于构造函数执行。

  2. 为所有对象进行统一初始化,而构造函数是为不同对象进行不同的初始化。

    实例如下:
    class Person {

          {   

    System.out.print(“共性初始化”);

             Void eat (){

    System.out.println(“生下来就吃饭”);

    }

    }//只要建立对象,该区代码将首先被执行。

     

    Person (int age)

    {

         this.age= age;

    }

    }

    .this的用法1.用于区分局部变量和成员变量的同名问题。

    2.用于代表本对象,代表所在函数对所属对象的引用。

    3.构造函数之间或普通函数之间调用使用,this();调用默认构造函数。

    4.this语句只能写在函数的第一行位置,因为初始化要首先使用this语句。

    示例如下:

    class Test

    {

     {

        System.out.println("构造代码块");

       }

     

      private int a;

      private String name;

      Test(){

    this.print();

        System.out.println("第一个构造函数"); 

      }

      Test(String name){

              this();

           System.out.println(name);

      }

    Test(int a){

     

        this.a=a;

      }

    public void print(){

        System.out.println("第一个构造函数调用。私有变量a ="+a);

     

    }

    }

    class  GouZao{

       public static void main(String[] args)

      {

       Test ts = new Test("调用第二个构造函数");

      

      }

    }

     
     


    运行结果:

    .static(静态)关键字的使用:

    1.用于修饰成员变量和成员方法。

    2.随着类的加载而加载,消失而消失。

    3.静态先存在,对象后存在。

    4.静态方法只能调用静态变量。

    5.静态方法中不可以使用thissuper关键字,因为静态方法先于对象出现。

    6.什么时候使用静态修饰符:

    1.当对象中出现共享数据时。

    2.定义静态函数:当方法中没有访问到非静态数据时,方法可以定义成静态。

    7.静态代码块:

    Static

    {

            静态代码块中的代码、、、、、

          静态代码块随着类的加载而加载,只执行一次,用于给类进行初始化,优先于主函数执行。

     

    }

    静态变量的提取如下图所示:

     


    四.主函数。

    1.是一个特殊的函数,可以作为程序的入口,被JVM调用。

    2.public表示:访问权限最大。

    3.static表示主函数随着类的加载而加载。

    4.main可以被JVM识别。

    .
    Java中的内存结构。

    Java在运行时需对内存进行分配操作,为了提高效率,对内存空间进行了区域的划分,因此每一片区域都有自己的特点的处理数据方法和内存管理机制。

  1. 栈内存用于存储基本数据类型变量和对象句柄,存在于栈中的数据可以共享(存储局部变量,当使用完后,所占空间会自动释放)

  2. 堆内存,数组和对象,通过new创建的实例都存放堆内存中,每一个实例都有内存地址值,实例的变量都有默认的初始化值,当实例不在被使用,会在不确定的时间被垃圾回收器回收。

  3. 方法区:用于存储类中的自定义方法和static静态成员变量。

    .对象初始化。

    1.初始化过程:1.通过JVM加载类到内存中,并开辟方法区初始化静态属性。

    2.执行类中的static静态代码块,给类进行初始化。

    3.在堆内存中开辟空间,分配内存地址。

    4.在堆内存中建立对象的特有属性,并进行默认初始化,使用构造函数进行初始化。

    5.执行构造函数中的其他语句。 

     



抱歉!评论已关闭.