Java之面向对象(1)

本文介绍了Java面向对象编程的基础,包括面向对象思想、类与对象、封装性、继承性、多态性、构造方法、this关键字和static关键字的应用。通过实例阐述了这些概念,帮助读者理解面向对象编程的核心原理。
摘要由CSDN通过智能技术生成

目录

一、面向对象的思想

1、概念:

2、面向对象的三个特征

2.1、封装性

2.2、继承性

2.3、多态性

二、类于对象

1、概念

2、类的定义

2.1、局部变量于成员变量的不同 

3、对象的创建于使用

4、对象的引用传递

5、访问控制

5.1、四种访问控制权限

三、封装性

1、概念

2、为什么要封装

3、如何实现封装

四、构造方法

1、定义构造方法

2、构造方法的重载

五、this关键字

1、使用this关键字调用类中的属性

2、使用this关键字调用成员方法

3、使用this关键字调用类的构造方法

六、代码块

1、普通代码块

2、构造块

七、static关键字

1、静态属性

2、静态方法

3、静态代码块

八、小结


一、面向对象的思想

1、概念:

      面向对象是一种符合人类思维习惯的编程思想。现实生活中存在各种形态不同的事物,这些事物之间存在着各种各样的联系。在程序中使用对象映射现实中的事物,使用对象的关系描述事物之间的联系,这种思想就是面向对象。

2、面向对象的三个特征

2.1、封装性

概念:封装是面向对象的核心思想,它有两层含义:一层含义是指把对象的属性和行为看成是一个密不可分的整体,将这两者“封装”在一起(即封装在对象中);另一层含义是指“信息隐藏”,将不想让外界知道的信息隐藏起来。例如,驾校的学员学开车,只需要知道如何操作汽车,无须知道汽车内部是如何工作的。

2.2、继承性

概念:继承性主要描述的是类与类之间的关系,通过继承,可以在无须重新编写原有类的情况下,对原有类的功能进行扩展。例如,有一个汽车类,该类描述了汽车的普通特性和功能,进一步再产生轿车类,而轿车类中不仅应该包含汽车的特性和功能,还应该增加轿车特有的功能,这时,可以让轿车类继承汽车类,在轿车类中单独添加轿车特性和方法就可以了。继承不仅增强了代码的复用性、提高了开发效率,还降低了程序产生错误的可能性,为程序的维护以及扩展提供了便利。

2.3、多态性

概念:多态性是指在一个类中定义的属性和方法被其他类继承后,它们可以具有不同的数据类型或表现出不同的行为,这使得同一个属性和方法在不同的类中具有不同的语义。例如,当听到“Cut”这个单词时,理发师的行为是剪发,演员的行为是停止表演,不同的对象所表现的行为是不一样的。多态的特性使程序更抽象、便捷,有助于开发人员设计程序时分组协同开发。
面向对象的思想仅靠上面的介绍是无法真正理解的,只有通过大量的实践去学习和理解,才能将面向对象思想真正领悟。

二、类于对象

1、概念

       在面向对象中,为了做到让程序对事物的描述与事物在现实中的形态保持一致,面向对象思想中提出了两个概念,即类和对象。在Java程序中类和对象是最基本、最重要的单元。类表示某类群体的一些基本特征抽象,对象表示一个个具体的事物。例如:

2、类的定义

概念:在面向对象中,为了做到让程序对事物的描述与事物在现实中的形态保持一致,面向对象思想中提出了两个概念,即类和对象。在Java程序中类和对象是最基本、最重要的单元。类表示某类群体的一些基本特征抽象,对象表示一个个具体的事物。类是对象的抽象,用于描述一组对象的共同特征和行为。类中可以定义成员变量和成员方法,其中,成员变量用于描述对象的特征,成员变量也被称为对象的属性;成员方法用于描述对象的行为,可简称为方法。

类的定义格式如下:

2.1、局部变量于成员变量的不同 

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

示例代码:

3、对象的创建于使用

定义了一个Student类,要想使用一个类则必须要有对象。在Java程序中可以使用new关键字创建对象,具体格式如下:

类名 对象名称-null;对象名称- new 类名();
上述格式中,创建对象分为声明对象和实例化对象两步,也可以直接通过下面的方式创建对象,具体格式如下:
类名对象名称-new 类名();
例如,创建Student类的实例对象,示例代码如下:

Student stu = new Student ();

示例代码:

4、对象的引用传递

概念:类属于引用数据类型,引用数据类型就是指内存空间可以同时被多个栈内存引用。

示例代码:

5、访问控制

5.1、四种访问控制权限

        针对类、成员方法和属性,Java提供了4种访问控制权限,分别是private、default、protected 和public。如图:

(1) private: private 属于私有访问权限,用于修饰类的属性和方法。类的成员一旦使用了private关键字 修饰,则该成员只能在本类中进行访问。    

 (2)default: default 属于默认访问权限。如果一个类中的属性或方法没有任何的访问权限声明,则该属性或方法就是默认的访问权限,默认的访问权限可以被本包中的其他类访问,但是不能被其他包的类访问。

(3)protected:属于受保护的访问权限。一个类中的成员使用了protected访问权限,则只能被本包及不同包的子类访问。

(4)public: public 属于公共访问权限。如果一个类中的成员使用了public访问权限。则该成员可以在所有类中被访问,不管是否在同一包中。

三、封装性

1、概念

     封装是面向对象的核心思想,理解并掌握封装对于学习Java面向对象的内容十分重要。

2、为什么要封装

概念:在Java面向对象的思想中,封装可以被认为是一个保护屏障,防止本类的代码和数据被外部程序随机访问。

3、如何实现封装

概念:类的封装是指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象的内部信息,而是通过该类提供的方法实现对内部信息的操作访问。在Java开发中,在定义一个类时,将类中的属性私有化,即使用private关键字修饰类的属性,被私有化的属性只能在类中被访问。如果外界想要访问私有属性,则必须通过setter 和getter 方法设置和获取属性值。

示例代码:

四、构造方法

概念:从前面所学的知识可以发现,实例化一个对象后,如果要为这个对象中的属性赋值,必须通过直接访问对象的属性或调用setter方法才可以实现,如果需要在实例化对象时为这个对象的属性赋值,可以通过构造方法实现。构造方法(也称为构造器)是类的一个特殊成员方法,在类实例化对象时自动调用。

1、定义构造方法

构造方法是一个特殊的成员方法,在定义时,有以下几点需要注意。

(1)构造方法的名称必须与类名一致。

(2)构造方法名称前不能有任何返回值类型的声明。

(3)不能在构造方法中使用return返回一个值,但是可以单独写return语句作为方法的结束。

示例代码:

2、构造方法的重载

概念:与普通方法一样,构造方法也可以重载,在一个类中可以定义多个构造方法,只要每个构造方法的参数类型或参数个数不同即可。在创建对象时,可以通过调用不同的构造方法为不同的属性赋值。

示例代码:

五、this关键字

概念:  在Java开发中,当成员变量与局部变量重名时,需要使用到this关键字分辨成员变量与局部变量,Java中的this 关键字语法比较灵活。

1、使用this关键字调用类中的属性

示例代码:

2、使用this关键字调用成员方法

示例代码:

3、使用this关键字调用类的构造方法

概念:构造方法在实例化对象时被Java虚拟机自动调用,在程序中不能像调用其他成员方法一样调用构造方法,但可以在一个构造方法中使用“this(参数1,参数2..”的形式调用其他的构造方法。

示例代码:

六、代码块

概念:代码块,简单来说,就是用“()”括号括起来的一段代码,根据位置及声明关键字的不同,代码块可以分为普通代码块、构造块、静态代码块、同步代码块4种。

1、普通代码块

示例代码:

2、构造块

示例代码:

七、static关键字

概念:在定义一个类时,只是在描述某事物的特征和行为,并没有产生具体的数据。只有通过new关键字创建该类的实例对象时,才会开辟栈内存和堆内存,在堆内存中每个对象会有自己的属性。如果希望某些属性被所有对象共享,就必须将其声明为static属性。如果属性使用了statc关键字进行修饰,则该属性可以直接使用类名称进行调用。除了修饰属性、static关键字还可以修饰成员方法。

1、静态属性

概念:如果在Java程序中使用static修饰属性,则该属性称为静态属性(也称全局属性),静态属性可以使用类名直接访问。

代码如下:

2、静态方法

概念:如果想要使用类中的成员方法,就需要先将这个类实例化,而在实际开发时,开发人员有时希望在不创建对象的情况下,通过类名就可以直接调用某个方法,要实现这样的效果,只需要在成员方法前加上static关键字,使用static关键字修饰的方法通常称为静态方法。

案例:

3、静态代码块

概念:在Java类中,用static关键字修饰的代码块称为静态代码块。当类被加载时,静态代码块会执行,由于类只加载一次。因此静态代码块只执行一次。在程序中,通常使用静态代码块对类的成员变量进行初始化。

示例代码:

八、小结

       本章详细介绍了面向对象的基础知识。首先介绍了面向对象的思想;其次介绍了类与对象之间的关系,包括类的定义、对象的创建与使用等;接着介绍了类的封装;然后介绍了构造方法,包括构造方法的定义与重载;最后介绍了代码块的使用和static关键字的使用。通过学习本章的内容,读者可对Java中面向对象的思想有初步地认识,熟练掌握好这些知识,有助于学习下一章的内容。深入理解面向对象的思想,对以后的实际开发也是大有裨益的。

文章链接:Java之面向对象(1)-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值