文章目录
一、面向对象特点
面向对象是把构成问题的事务按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题。一个应用程序会包含多个对象,通过多个对象的相互配合来实现应用程序的功能,这样当应用程序功能发生变动时,只需要修改个别的对象就可以了,从而使代码更容易得到维护。面向对象的特点主要可以概括为封装性、继承性和多态性。
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访问控制符修饰,那么这个类或者类的成员能被所有的类访问,不管访问类与被访问类是否在同一个包中。
本文深入探讨Java的面向对象特性,包括封装、继承和多态的概念,以及类与对象的关系。详细讲解了类的定义,如成员变量与局部变量的区别,对象的创建与使用,以及访问控制符的四种级别:private、default、protected和public。通过理解这些概念,有助于提升Java编程能力。
2万+

被折叠的 条评论
为什么被折叠?



