学习笔记3—Java基础3_面向对象上a

对于面向对象的理解:
    面向对象是相对于面向过程而言的,有三个特点:
        封装(Encapsulation),继承(Inheritance),多态(Polymorphism);
    类是对某一类事物的描述,是抽象的、概念上的定义;
    对象是实际存在的该类事物的每个个体,因而也称实例(instance)。
    一个类可以产生多个对象,所以面向对象的关键在于类的设计。

 

对于类与对象的理解:
    当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化赋值。除了基本数据类型之外的都是变量类型都是引用类型。
    创建新的对象之后,我们就可以使用“ 对象名.对象成员 ”的格式,来访问对象的成员(包括属性和方法) 。
    对象有自己的生命周期和作用域。离开作用域,所创建的对象便成为垃圾。

 

对象的比较:
    “==”运算符与equals()方法的区别:
          前者不仅比较内容,而且还比较对象在内存中的位置;而后者只比较内容是否相同。
          所以比较两个数组对象的内容是否相等时应该使用equals()方法。

 

匿名对象:
    可以不定义对象的句柄,而直接调用这个对象的方法。
        这样的对象叫做匿名对象, 如:new Person().shout();
    如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象。
    实际中经常将匿名对象作为实参传递给一个函数调用。

 

类的封装:
    好处:隐藏类的实现细节;
          只能通过事先定制好的方法来访问数据,方便地加入控制逻辑,限制对属性的不合理操作;
          便于修改,增强代码的可维护性;
    实现方式:
          将类的成员变量声明为private,再通过public的方法来对这个变量进行访问。对一个变量的操作,一般都有读取和赋值操作,我们分别定义两个方法来实现这两种操作,一个是getXxx()(Xxx表示要访问的成员变量的名字),用来读取这个成员变量操作,另外一个是setXxx()用来对这个成员变量赋值。

 

对于构造函数的理解:
    定义和作用:
        具有与类相同的名称;不含返回值;不能在方法中用return语句返回一个值。
        当一个类的实例对象刚产生时,这个类的构造方法就会被自动调用,我们可以在这个方法中加入要完成初始化工作的代码。
    构造方法的重载:
        和一般的方法重载一样,重载的构造方法具有不同个数或不同类型的参数,编译器就可以根据这一点判断出用new 关键字产生对象时,该调用哪个构造方法了。
    注意:
        在java每个类里都至少有一个构造方法,如果程序员没有在一个类里定义构造方法,系统会自动为这个类产生一个默认的构造方法,这个默认构造方法没有参数,在其方法体中也没有任何代码,即什么也不做。
        由于系统提供的默认构造方法往往不能满足编程者的需求,我们可以自己定义类的构造方法,来满足我们的需要,一旦编程者为该类定义了构造方法,系统就不再提供默认的构造方法了。声明构造方法,如无特殊需要,应使用public关键字

 

对于this的理解:
    this关键字在函数内部就是这个函数所属的对象的引用变量。 

 

垃圾回收过程分析:
    java中使用finalize()方法(类似于c++中的析构方法)来释放对象占用的空间;
    一般java虚拟机的垃圾回收器会自动完成相应工作,但有不可靠的时候需要使用System.gc方法来清理垃圾。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值