.Net转Java自学之路—基础巩固篇四

类与对象的关系

  类、现实事物的描述

  对象、该事物中事实存在的个体。

    对象本身已知的事物 称为实例变量。代表对象的状态

    对象可以执行的动作 称为方法。代表对象的行为

成员变量与局部变量的区别

  1、作用范围

    成员变量、定义在类中,作用整个类。

    局部变量、只在所属函数或代码段中有效。

  2、存储情况

    成员变量、存储在堆内存中,随着对象存在而存在;当对象被垃圾回收机制回收后,该对象中的成员变量才会消失。

    局部变量、存储在栈内存中,当函数调用或语句代码段执行时才会存在,当执行完毕后局部变量才会自动消失。

  3、初始化情况

    成员变量、在堆内存中有默认初始化值。

    局部变量、必须手动初始化才可被使用。

匿名对象

  没有名字的对象,是定义对象的一种简易方式

  new Class().Fun();

  1、只进行一次调用时使用。

  2、可作为参数传递。

封装(Encapsulation)

  指隐藏对象的属性和实现细节,仅对外提供公共调用方式。

  好处:变化隔离、便于使用、提高重用性、提高安全性。

  私有是封装的一种形式。

构造函数

  方法名与类名相同。没有返回值类型。没有具体返回值。

  在对象建立时被直接调用。

  作用:用于给对象进行初始化。

  在一个类中可以定义多个构造函数,以进行不同的初始化。多个构造函数存在于类中是以重载的方式体现。

  构造函数与一般函数的区别:

    1、一般函数、是用户定义对象应该具备的功能。

       构造函数、是在对象建立之前,在对象建立时应该具备的一些功能;也就是对象的初始化内容。

    2、一般函数、是对象建立后,在调用该功能是才会执行。

          构造函数、是在对象建立时被调用,给对象初始化。

this关键字

  代表的是对象的引用,也就是说this指向一个对象,就是所在函数所属对象的的引用。

  当局部变量和成员变量重名时,为以示区分,可用this关键字来完成。

  构造函数之间的互相调用。称为this语句。this语句必须写在构造函数第一行。

  this.构造函数();    this();

局部代码块

  格式:

  {
    //Code;  
  }

  在类下面的局部代码块被称为构造代码段,用于给所有对象进行初始化。它在构造函数之前执行。

static关键字

  静态、用户修饰成员(成员变量、成员方法)

  特点:

    1、静态修饰的成员随着类的加载而加载。

    2、级别优先于对象。

    3、静态成员被所有对象所共享。

    4、类名直接调用。

  注意事项:

    1、静态方法只能访问静态成员。非静态方法既可以访问静态成员也可以访问非静态成员。

    2、静态方法不可定义this、super关键字。因this代表对象,静态的优先级别高于对象,静态存在时还没有对象。

  好处:静态成员多一种调用方式。Class.静态成员;对象.静态成员;

  弊端:访问局限性,静态方法只能访问静态成员。

  什么时候用静态?

    成员变量、当成员变量所存储的数据,每个对象都一样时,数据被共享时。定义为静态的。

    成员函数、当成员函数内并没有访问对象中特有的数据时,就将函数定义为静态的。

  静态代码块:

  static
  {
    //Code;  
  }

  作用:

    当类加载内存时,需要进行一些内容的执行来完成类的初始化。需要用到静态代码块来完成。

  执行特点:

    当类加载时就执行静态代码块,而且只执行一次,执行优先级高于主函数。

原文地址:https://www.cnblogs.com/zltao/p/9027223.html