鸟哥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学习之线程间通信-多线程

1.等待唤醒机制     涉及的方法:wait(),notify(),notifyAll() 这些方法都必须定义在同步中,明确自己操作的是哪个锁上的线程。 如 r.wait(),r 为...
  • paomojj1
  • paomojj1
  • 2016年06月01日 20:58
  • 182

鸟哥Java学习之类与对象-面向对象

今天Java学习进入新阶段,也是Java核心思想-面向对象。以前是学习Java基础语法结构,与C、C++相通。     1.面向对象与面向过程区别:     面向过程强调的是过程动作,面向...
  • paomojj1
  • paomojj1
  • 2016年06月01日 19:59
  • 174

鸟哥Java学习之IO流

1.输入流和输出流相对于内存设备而言,将外设中数据读入内存为输入,反之为输出 2.字节流的两个顶层父类:InputStream,OutputStream 字符流:Reader,Writer...
  • paomojj1
  • paomojj1
  • 2016年06月01日 21:48
  • 210

鸟哥的linux私房菜(第四版)pdf

  • 2016年10月09日 10:33
  • 17.49MB
  • 下载

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

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

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

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

Static关键字所有用法详解

以前总是对static的涵义模棱两可,不太敢用,也不知道什么地方改用,static用法非常广泛,静态变量、静态成员、静态函数等,如果用的好,会是程序提升一个等级,并且可以解决很多实际问题,比如单例模式...
  • yanglusheng
  • yanglusheng
  • 2016年07月13日 10:22
  • 1253

更改窗体 风格 的实现代码

 要实现不同风格的窗口,其实很简单:只需在main函数前和中添加如下代码即可: 头文件——#include #include ……//其他风格的头文件 int main(void){         ...
  • hufeng825
  • hufeng825
  • 2010年07月20日 10:13
  • 610

Linux平台下java程序员的基本功(一)

一、概述   1、该系列文章主要介绍Linux下tomcat集群的安装与配置,其中涵盖了Linux,vsftpd,jdk,tomcat,apache,jkconnector等相关知识,还包括Linux...
  • yuexianchang
  • yuexianchang
  • 2016年11月25日 16:22
  • 1676

习题(练习类、构造函数和static关键字)

static关键字1,编写一个类,包含一个排序的静态方法Sort(),当传入的是一个整形数组,按照从小到大的顺序输出,如果传入的是一个字符串,就将字符串反序输出。PS:考虑下函数重载package h...
  • Haitao0823
  • Haitao0823
  • 2017年03月08日 14:38
  • 389
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:鸟哥Java学习之构造函数、this、static关键字-面向对象
举报原因:
原因补充:

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