Java的类与对象

本文介绍了面向对象编程的基本概念,包括面向过程与面向对象的区别。类作为一组具有相同属性和功能的对象的抽象,而对象则是类的具体实例。文章详细阐述了类的创建、成员变量(属性)和成员函数(行为)的定义,以及构造函数的作用。此外,还讨论了封装、访问器和修改器的重要性,以及如何通过私有化保护数据安全。面向对象编程强调通过类和对象来组织代码,提高代码的复用性和可维护性。
摘要由CSDN通过智能技术生成

面向对象与面向过程

面向对象与面向过程都是一种编程思维,只是处理问题的方式不太一样;

面向过程:考虑清楚每一步的步骤,第一步应该做什么,第二步应该做什么...

面向对象:首先对问题进行分类,接着对这些分类进行单独思考,最后,才是对各个分类进行细节的思索。

类与对象基本概念

类:表示的是一个共性的产物,定义的是属性和功能。故此,我们将那些具有相同属性和功能的对象统称为类。

广义对象:但凡存在于生活中的事物,都可以称之为对象。

狭义对象:就是由某一个类所描述出来的具体的事物。

例:杯子与容器。哪个称之为类,哪个称之为对象?

答案是:杯子为对象,容器为类。

例:麻烦请你帮忙把我的杯子拿过来,请问这句话中的杯子表示的是狭义对象还是广义对象?

答案是:狭义对象,此杯子表示特指我的杯子。

在现实生活中,人们是先观察已有的对象,从而产生类。但在编程世界中,往往是我们先定义一个类后再进行对象的创建。

如何创建一个类

封装

将独立单元或者多个数据进行整体的封装,目的在于重复利用和操作方面。
不需要过多在乎封装的内容,我们只需要调用即可,底层对于调用者而言是透明的。
(1)循环:将重复执行的代码进行封装到循环语句中;
(2)函数:将具有独立功能的代码进行封装到函数中;
(3)数组:将多个同类型的数据进行封装到数组中;(数据类型一样,空间连续)
(4)类:将具有相同属性和行为的对象统一的封装;

语法

权限修饰符   类型  class类名{
//属性-变量/常量
// 行为-函数
构造代码块
静态代码块
成员变量/实例变量
静态变量
构造函数/构造器
成员函数/实例函数
静态函数
继承而来的函数
}

在Java中,尽量一个Java文件中包含一个类;并且类名和文件名必须一致;和文件名同名的类必须是public类型

成员变量

实例变量,是对象的特有属性,每个对象都具有这些属性,成员变量是具有默认初始化的(默认值);

语法:权限修饰符  数据类型  变量名  =  值;

创建对象语法:类名  变量名  =  new  类名();

可以在创建对象之后,对成员变量进行修改

成员变量是具有显示初始化的(类中写明的值)

成员变量的初始化流程:默认——显式

默认和显式都是在创建对象的过程中进行的

修改是在对象创建完毕之后,初始化是在创造的过程中;

成员函数

又称为实例函数,对象的特有行为 ,每个对象都应该就具有的行为, 这个行为每个对象的流程都是一样的,结果不一定一样。

语法格式:权限修饰符 返回值类型 函数名(参数列表){

函数体

}

注意:没有static的!

函数中的参数,实际上是指该函数的局部变量(在函数内部创建的变量)

局部变量于成员变量重名时, 调用变量就近原则,一般用this关键字进行区分

this含义为 当前对象的

成员函数可以进行重载

此外,我们还要用权限修饰符来对我们的对象属性私有化,来保证我们数据的安全性。

私有化——private,

私有化的目的——不让外界随意的修改对象的属性

私有化之后,外界是看不到私有的内容

为了避免正常访问被限制,需要提供另外一个访问去向外界访问,所以我们要在进行私有化后,设置访问器。

访问器语法:public  属性类型  方法名(){

                return  属性名
}

注:方法名命名为" get属性“

同时为了方便外界对属性的赋值,我们需要设置一个属性修改器

语法:public  void  方法名(变量类型变量名){

        this.属性  =  变量名;

}

注:方法名命名为"set属性";

构造函数

作用:针对性初始化

语法格式:权限修饰符  类名(参数列表){

                函数体

                return;

}

  //类中定义一个构造函数
    public  point(double x,double y){ //类似于修改器setXxx
        this.x=x;
        this.y=y;
    }
    //外界在创造对象的时候对对象的值进行修改
point c1 = new point(x:1,y:2);

任何一个类,在没有明确定义构造函数的时候 它会有一个默认无参的构造函数,一旦定义任何一个构造函数,那么默认无参函数就会消失

函数名与类名相同

没有返回值类型。

构造函数在创造的时候执行;

构造函数是可以重载的;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值