鸟哥Java学习之构造函数、this、static关键字-面向对象

原创 2016年06月01日 20:40:30
    1.构造函数:可以给对象进行初始化,创建对象都必须要通过构造函数进行初始化。一个类中没有定义构造函数,会有一个默认的参数构造函数。
    事物一旦产生就具备的内容定义在构造函数中,格式:类名(){}。

    2.与一般函数区别:构造函数对象创建时,就会调用与之对应的构造函数,对对象进行初始化。一般函数对象创建后,需要函数功能时才会调用。

    3.构造函数-重载:一个类中多个构造函数,参数不同,可以给对象不同的初始化
    构造代码块:给所有对象进行初始化。格式:{}
    函数中的{}为局部代码块,限制局部变量生存周期。

    4.this关键字:当成员变量和局部变量重名时,可以用其进行区分,代表当前对象
    this就是所在函数所属对象的引用,简单来说就是那个对象调用了其所在函数,this就代表那个对象。
    另:还可用this调用构造函数,格式:this()

    5.static关键字:数据共享。修饰成员(成员变量、成员函数),被所有对象共享;static优先于对象存在,随着类的加载就已经存在;除了可以被对象调用,还能被类名直接调用,格式:类.静态成员。
    静态使用注意事项:静态方法(加了static的函数)只能访问静态成员;静态方法中不可以使用this或super关键字;主函数是静态的。
    静态成员前省略的是类名,非静态省略的是this。
    静态什么时候使用:该函数功能是否有访问到对象中的特有数据。从源代码看,该功能是否需要访问非静态成员变量,如果需要,该功能就是非静态的。如果不需要,就可以定义为静态的,不浪费空间。(不访问对象的特有数据就不需要创建非静态,直接类名调用,不创建对象,节约空间)

    6.静态代码块:给类初始化。用于类中全是静态成员,不需要对象。

    7.main函数:
    public:因为权限必须是最大的。
    static:不需要对象的,直接用主函数所属类名调用即可。
    void:主函数没有具体的返回值。
    String[] args:数组类型的参数,而且元素都是字符串类型。

    总结:静态代码块先执行,静态变量,若有对象,构造代码块再执行,然后是构造函数。
加:创建子类对象,首先是加载子类构造函数,然后super()即父类构造函数,然后显示初始化,再构造代码块初始化,最后构造函数。
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

黑马程序员-------- java面向对象 封装、构造函数、this static关键字、单例设计

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------                          ...

Java--面向对象之一:面向对象概念、类和对象的关系、封装、构造函数、this关键字、static关键字

一、面向对象的概念 1、理解面向对象   (1)面向对象是相对面向过程而言。   (2)面向对象和面向过程都是一种思想。   (3)面向过程强调的是功能行为。   (4)面向对象将功能封装进对象,强调...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Java基础——面向对象+(匿名)对象+封装(修饰符权限)+变量+构造函数+This关键字

1.   面向对象 面向对象与面向过程的不同 面向对象:是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 面向过程:分析出解决问题...

黑马程序员——学习日志4面向对象(概念,类与对象,封装,构造函数,this关键字)

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

黑马程序员_Java基础_面向对象(概述、类与对象关系、成员变量、封装private、构造函数和构造代码块、this关键字)

------- android培训、java培训、期待与您交流! ----------   一、面向对象(类和对象的关系) 面向对象的三个特征:封装,继承,多态。 以后开发:找对象,建立对象,使用...

Java重修之路(六)面向对象初识,类与对象,成员变量,局部变量,封装,构造函数,构造代码块,this关键字

今天终于进入正题,Java的面向对象部分,也是Java的核心部分,如果之前只是学过C语言而没有接触其他面向对象的语言的同学,这里要转换思想还是有些难度的,需要多思考,弄清楚什么是面向对象,面向对象与面...

黑马程序员----面向对象1(匿名对象、封装、构造函数、this、static)

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 面向对象概念 是相对面向过程而言,两者都是一种思想,面向过程强调的是功能行为,面向对象是将功能封装进对象,强...

黑马程序员_day05 面向对象(匿名对象,构造函数,this关键字)

---------------------- android培训、java培训 期待与您交流! ---------------------- 一:理解面向对象:  1,面向对象是相对面向过程而言。...

NO7.java学习笔记【面向对象、栈内存、堆内存、构造函数、this、super、继承、覆盖、对象实例化、final】

一、理解面向对象: 面向过程:强调的是功能行为。 面向对象:将功能封装进对象,强调具备了功能的对象。 面向对象是基于面向过程的。 二、JAVA把内存分为两种:栈内存和堆内存。 //在函数中定义的一些基...

黑马程序员——第5天——(面向对象)构造函数,构造代码块,this关键字

第二遍看视频,重新梳理一遍学习中不牢固的地方。 今天看到构造函数这一块,才意识到第一遍学习的时候这块内容就没有真正理解透彻,通过这段时间的学习,当第二次看到这段内容的时候才意识到,曾经遇到过的难题,原...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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