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

原创 2014年12月28日 12:52:55
------- 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.执行构造函数中的其他语句。 

     



相关文章推荐

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

Java面向对象编程知识点总结。 一:单例设计模式。 何为单例设计模式,单例设计模式是指为解决一个类在内存中只有一个对象,保证对象唯一的一种设计方法。 单例设计模式的的设计规则如下: 为避...

黑马程序员—Java程序入门学习日记-基础篇1

Java语言是当今世界最流行的计算机高级编程语言之一,因其出色的语言特性,在世界范围内被大多数的程序开发人员选作自己必需掌握的语言,Java语言在继承了C++的优点后对自己本身又有了很大的提升。这门面...

黑马程序员_Java学习日记5_面向对象总结4

----------------------android培训、java培训、期待与您交流! --------------------- 1。Java中的异常处理总结 异常体系: Throw...

黑马程序员_Java学习日记2_面向对象总结1

----------------------android培训、java培训、期待与您交流! --------------------- 1.关于main函数的讲解 主函数,是一个特殊的函数,...

黑马程序员—【Java基础篇】之面向对象

------- android培训、java培训、期待与您交流! ---------     这篇分享和总结Java之面对对象。     主要学习型内容有:1.面向对象概念;2. 类与对象的关系;3...
  • WL8721
  • WL8721
  • 2015年04月21日 10:40
  • 410

黑马程序员——Java基础日记——面向对象

              ----------android培训、java培训、java学习型技术博客、期待与您交流!------------    面向对象是我们学习Java语言的一个...

黑马程序员--学习日记(三)面向对象基础

一,面向对象 1.      理解面向对象 面向对象是相对于面向过程而言的,面向对象和面向过程都是一种编程的思想。 1.1面向对象和面向过程的区别? 面向过程更加强调的是它的功能行为。面向对象...

黑马程序员学习日记(2)--面向对象基础

---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ------------------------ 面向对象基础 面向对象不是取代...

黑马程序员—4—Java基础: 面向对象继承学习笔记和学习心得体会

1.       继承概述   1.提高啦嗲吗的复用性。   2.让类与类之间产生啦关系,有了这个关系,才有了多态的特性。   注意:千万不要为了获取其它类的功能,简化代码而继承         必须...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员—Java入门学习日记基础篇-面向对象总结3
举报原因:
原因补充:

(最多只允许输入30个字)