黑马程序员—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基础学习总结——面向对象

目录 一、面向过程的思想和面向对象的思想 二、简单理解面向对象 三、面向对象的设计思想 四、对象和类的概念 五、如何抽象出一个类? 六、类(对象)之间的关系 七、Java与面向对象 八、为什么使用面向...
  • hello_zhou
  • hello_zhou
  • 2016年05月19日 21:22
  • 1885

黑马程序员:从零基础到精通的前端学习路线

随着互联网的深入发展,前端开发工程师一跃成为市场上非常抢手的人才。很多同学,包括以前做UI的、Java的、或者对于IT完全零基础的同学都想学习前端。下图是网上流传甚广的一张前端学习思维导图,很多初学者...
  • itcast_cn
  • itcast_cn
  • 2016年07月29日 14:46
  • 5118

学习java中面向对象的一些小总结。

Java面向对象 面向对象三大特征:封装、继承、多态   封装:1.提高数据的安全性。 2.操作简单 3.隐藏了实现 使用private修饰需要封装的属性,用set和get设置和获取属性。   构造函...
  • xs_challenge
  • xs_challenge
  • 2016年11月17日 20:13
  • 832

黑马程序员——Java基础测试题

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 黑马程序员——Java基础测试题 第1题:以下代码哪个是正确的?为什么?   a. byte...
  • liu007004
  • liu007004
  • 2015年01月16日 12:49
  • 1371

黑马程序员_HTML基础

a标签
  • u013168363
  • u013168363
  • 2013年12月29日 01:14
  • 445

黑马程序员:Java学习路线图上线了

——你要的就在这!   从几何时,网络家喻户晓;从什么时候开始网上搜索东西都要收费才能下载;又是从何时起网上再也找不到真正有用的资源,除了交钱再无他法了吗?不,今天告诉你,好的资源一直以来不怕分享...
  • itcast_cn
  • itcast_cn
  • 2016年10月27日 11:19
  • 2320

黑马程序员_java多线程的一些总结(一)

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、    进程和线程 1、   进程和线程的关系。 一般来说,我们运行一个应用程序的,就启动...
  • u011449569
  • u011449569
  • 2015年10月29日 00:23
  • 285

JAVA面向对象基础 对象 类 方法学习笔记

面向对象基础 类  构造   对象  使用对象   对象.方法() 类:[访问控制符]  class 类名{ } 属性:[访问控制符]  数据类型  变量名; 方法:[访问控制符]  void|返...
  • zhangyufeng0126
  • zhangyufeng0126
  • 2016年05月29日 16:08
  • 1177

程序员必读书单(非常经典,强烈推荐)

原文链接:http://lucida.me/blog/developer-reading-list/ 关于 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键...
  • ZHANGTAOZAQaq
  • ZHANGTAOZAQaq
  • 2015年02月28日 13:42
  • 5778

黑马程序员——Java基础---练习题

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- Java基础---练习题 1.写出程序结果class Demo { public stat...
  • liu007004
  • liu007004
  • 2015年01月19日 16:35
  • 658
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员—Java入门学习日记基础篇-面向对象总结3
举报原因:
原因补充:

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