Java中的面向对象——基础概念梳理


Java是面向对象的高级编程语言,类和对象是Java程序的构成核心。正本清源,比起学习语法,学习思想才是最重要的部分。这里我又重新把面向对象的基本概念回顾了一遍。

基本概念

对象

即实例。对象是一个具现化了的东西。假设你想要买一部手机,你希望它的内存大,运行流利,那么这样一部手机是不是我们的对象呢?不是,它只是一个停留在你的脑海中的抽象概念,只有当你买到一部符合你要求的手机,比如你买到了一台iPhone X,它可能符合上面提到的你的要求,这样一部实际存在的手机我们认为它是 对象

属性

作为对象的手机,你可以用很多特征来描述这部手机——样式、颜色、大小、内存等等,这些特征构成了手机这一对象,我们把这些特征成为手机的 属性

方法

我们买手机往往是带有目的的。我们可以用手机来打电话、发短信、上网,那么这些功能我们把它称之为手机的 方法

世上还有很多跟这部手机有着相同功能跟属性的手机,我们为了方便将它们归类起来,提取它们相同的属性与方法,归类之后形成的抽象概念,我们称之为
总结一下就是:

  • 类是相同或相似对象的一种抽象,是对象的一个模板,它描述一类对象的行为和状态。
  • 类是具有相同属性和方法的对象的集合

类型变量

  • 局部变量:在方法、构造方法或者语法块中定义的变量
  • 成员变量:定义在类中,方法之外的变量,在创建对象的时候被实例化。可以被类中的方法访问。
  • 类变量:也叫静态变量,与成员变量一样,但是必须声明为 static 类型。

关于变量的命名:

  • 局部变量的作用域仅限于定义它的方法内。而成员变量的作用域在整个类内部都是可见的。
  • 同时在相同的方法中,不能有同名的局部变量;在不同的方法中,可以有同名的局部变量。
  • 成员变量和局部变量同名时,局部变量具有更高的优先级。

总的来说,面向对象编程反映出来的思想跟我们认识这个世界的过程是反向的:我们认识世界的时候都是先从认识对象,然后慢慢归纳总结出高级的抽象概念;而面向对象编程就是需要你先提前得出一个抽象的概念,然后将这个概念封装起来,在实际使用时在实例化。

构造方法

  • 概念与构造函数类似,作用是初始化属性
  • 构造方法必须与类名相同,一个类可以定义多个构造方法
  • 如果在定义类的时候没有写构造方法,系统会默认生成一个无参构造方法,这个构造方法什么也不会做
  • 当有指定的构造方法时,系统都不会再添加无参构造方法了
  • 构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法

引用与对象实例

新建对象时,实际上只是创建了一个对象的引用。就和C语言中的指针一样,新建类变量实际上保存的是对象的引用,指向了对象。如:

Object object1=new Object();
Object object2=object1;
System.out.println(object1==object2);

运行得到的结果为 true,说明 object1 和 object2 的地址相同(==会比较两个对象的地址是否相同),它们实际上是引用同一对象,如果改变 object1 对象内部的属性,那么 object2 的属性同样会改变。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值