01 01Java中级之深入分析类与对象

1 成员属性封装

  在类之中的组成就是属性与方法,一般而言方法都是对外提供服务的,所以是不会进行封装处理的,而属性需要采用封装性对属性进行保护。
  在默认情况下,对于类中的属性是可以通过其它类利用对象来进行调用的。封装之后,对内不可见,对外部不可见。Java开发标准要求:

  • setter、getter方法,使用setXxx(),getXxx();
      类中的属性都必须使用private封装并提供getter、setter方法。

2 构造方法与匿名对象

  现在的程序在使用类的时候一般都按照了如下的步骤进行:

  • 声明并实例化对象,这个时候实例化对象中的属性并没有任何的数据存在,都是其对应数据类型的默认值。
  • 需要通过一系列的setter方法为类中的属性设置内容。两个步骤:对象准备、对象的使用。
      构造方法,即可以通过构造方法实现实例化对象中的属性初始化处理。只有在关键字new的时候使用构造方法。构造方法的定义要求:
  • 构造方法名称与类名称保持一致;
  • 构造方法不允许设置任何的返回值类型,即,没有返回值定义;
  • 构造方法是在使用关键字new实例化对象的时候自动调用的。
    构造方法对象实例化格式和传统的对象实例化格式的比较:
  • 传统的对象实例化格式:Person per = new Person();
  • 构造方法的对象实例化:Person per = new Person(“vic”, 18);
      此里面的Person主要时定义对象的所属类型,类型决定了对象可以调用的方法;per是实例化对象的名称,所有的操作通过对象来进行访问;new指开辟一块新的堆内存空间;Person(“vic”, 18)调用有参构造;Person()调用无参构造。
      在Java程序中考虑到程序结构的完整性,默认提供一个无参的构造方法,在程序编译时自动创建。如果你已经定义了一个构造方法,默认构造方法不再创建。
      为什么构造方法不允许设置返回值类型?
    分析:程序编辑器是根据代码结构来进行编译处理的,执行的时候也是根据代码结构来处理的。如果构造方法上使用了void,那么此结构就和普通方法的结构完全相同,这样编译器就会认为此方法是一个普通方法,普通方法与构造方法最大的区别在于构造方法是在类对象实例化的时候调用的,而普通方法是在类对象实例化产生之后调用的。
      如果只通过实例化对象来进行类的操作,这种形式称为匿名对象。只要是方法都可以传递任意的数据类型(基本数据类型、引用数据类型)。
发布了35 篇原创文章 · 获赞 11 · 访问量 737

猜你喜欢

转载自blog.csdn.net/weixin_43762330/article/details/104428989
01
#01