Java基础学习06:面向对象

本文深入探讨Java的面向对象特性,包括封装、继承和多态的概念,以及类与对象的关系。详细讲解了类的定义,如成员变量与局部变量的区别,对象的创建与使用,以及访问控制符的四种级别:private、default、protected和public。通过理解这些概念,有助于提升Java编程能力。

一、面向对象特点

面向对象是把构成问题的事务按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题。一个应用程序会包含多个对象,通过多个对象的相互配合来实现应用程序的功能,这样当应用程序功能发生变动时,只需要修改个别的对象就可以了,从而使代码更容易得到维护。面向对象的特点主要可以概括为封装性、继承性和多态性。

1、封装

封装是面向对象的核心思想,将对象的属性(property)和行为(behavior)封装起来,不需要让外界知道具体实现细节。

2、继承

继承主要描述的就是类与类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展(extend)。

3、多态

多态指的是在一个类中定义的属性和功能被其他类继承后,当把子类对象直接赋值给父类引用变量时,相同引用类型的变量调用同一个方法所呈现出的多种不同行为特性。

二、Java中的类与对象

1、类与对象的关系

类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。简而言之,类是模板(template),对象是实例(instance)。

类用于描述多个对象的共同特征,它是对象的模板,而对象用于描述现实中的个体,它是类的实例。对象是类的具体化,并且一个类可以对应多个对象。

2、类的定义

在面向对象的思想中,最核心的就是对象。为了在程序中创建对象,首先需要定义一个类。类是对象的抽象,它用于描述一组对象的共同特征和行为。

以面向对象的编程思想,就可以将某一类中共同的特征和行为封装起来,把共同特征作为类的属性(property),也叫成员变量(member variable),把共同行为作为类的方法(method),也叫成员方法(member method)。

(1)成员变量与局部变量

在Java中,定义在类中的变量被称为成员变量(member variable),定义在方法中的变量被称为局部变量(local variable)。如果在某一个方法中定义的局部变量与成员变量同名,这种情况是允许的,此时方法中通过变量名访问到的是局部变量,而并非成员变量。

3、对象的创建与使用

(1)语法格式

类名 对象名称 = new 类名();
  • new 类名() 是基于指定类创建一个新的实例(对象)
  • 对象名称是一个引用变量,指向创建的实例(对象)

(2)对象创建的内存分配

在创建对象时,程序会占用两块内存区域,分别是栈内存和堆内存。赋值对象为类的变量存放在栈内存中,它是一个引用,会指向真正的对象;通过new 类名()创建的对象则放在堆内存中,这才是真正的对象。

Java将内存分为两种,即栈内存和堆内存。其中栈内存用于存放基本类型的变量和对象的引用变量,堆内存用于存放由new创建的对象和数组。

(3)成员变量的调用

  • 通过对象的引用来访问对象所有的成员:对象引用.对象成员
  • 直接使用创建的对象本身来引用对象成员:new 类名().对象成员

(4)成员变量的初始值

成员变量可以不初始化,不同类型的成员变量有默认的初始值。但是,局部变量是必须初始化的。
在这里插入图片描述

4、访问控制符

针对类、成员方法和属性提供了四种访问级别,分别是private、default、protected和public。
在这里插入图片描述
在这里插入图片描述

(1)private(当前类访问级别)

如果类的成员被private访问控制符来修饰,则这个成员只能被该类的其他成员访问,其他类无法直接访问。类的良好封装就是通过private关键字来实现的。

(2)default(包访问级别)

如果一个类或者类的成员不使用任何访问控制符修饰,则称它为默认访问控制级别,这个类或者类的成员只能被本包中的其他类访问。

(3)protected(子类访问级别)

如果一个类的成员被protected访问控制符修饰,那么这个成员既能被同一包下的其他类访问,也能被不同包下该类的子类访问。

(4)public(公共访问级别)

这是一个最宽松的访问控制级别,如果一个类或者类的成员被public访问控制符修饰,那么这个类或者类的成员能被所有的类访问,不管访问类与被访问类是否在同一个包中。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值