Java面向对象(一)面向对象简介和初步 了解

一、面向对象简介

面向对象是相对面向过程而言的。

面向过程注重的是过程,强调的是动作;

面向对象注重的是对象,只要找到了对应的对象,那么就自然拥有了对象所具有的一切功能


面向对象是基于面向过程的

面向对象一定优于面向过程吗?

当场景比较复杂的时候,建议使用面向对象;当事物比较简单的时候,建议使用面向过程

二、类 和对象的关系

通过对一类事物的共有的特征和行为进行抽取,将特征抽取为属性,将行为抽取为方法,这样就形成了一个类---类是对象的概括。

new关键字来创建对应类的实例/对象---对象是类的具体

 三、成员变量和局部变量

区别:

1. 定义位置不同:成员变量定义在类内方法外;局部变量定义在方法或语句内。

2. 存储位置不同:成员变量存储在堆内存中,并在堆内存中自动赋予 初始值;局部变量存储在栈内存中,需要手动初始化。

3. 作用域不同:成员变量作用在整个类内;局部变量作用在定义的方法或语句内。

4. 生命周期不同:成员变量在对象创建时产生,对象的销毁而销毁,对象用完不一定立即回收,而是在不定时的某个时刻被回收;局部变量在语句或方法被执行到时创建,在语句或方法执行完后立即销毁。

四、构造函数

构造函数是在类中与类同名且没有返回值类型的函数。 (注意:没有返回值类型 ,而不是没有返回值,没有返回值用void定义)

构造函数可以被重载。

如果类中没有构造函数,则JVM会默认提供一个无参构造函数,当用户自定义有参构造函数后,JVM将不会提供无参构造,需要用户显示定义。

构造函数中可以有return语句,用于回避掉一些不否和实际逻辑的问题。

任何一个类都有构造函数。

五、this关键字

哪个对象处于活跃状态,则this代表哪个对象,this可以认为是一个虚拟对象,代表了当前对象的引用。

注意:

java中所有非静态的属性和方法都必须通过对象来调用。

this()语句 :用于在本类的构造函数中调用其他的构造函数。,但是必须放在该构造函数的首行。

六、匿名对象

没有名字的对象称之为匿名对象 --- 用于只调用一次的时候。

匿名对象可以作为参数传递。

七、局部代码块

在函数或语句内部用{ }括起来的代码块称之为局部代码块。

作用:

限制局部变量的作用范围和生命周期,提高栈内存的利用率。

八、构造代码块|初始化代码块

定义在类内方法外的代码块。

用于类内属性的初始化,会先于构造函数执行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值