Java面向对象基础

前言:JAVA是一种面向对象的程序设计语言,对象是由类抽象出来的,所有的问题都是通过对象来处理,对象可以操作类的属性和方法来解决问题,所以了解对象的产生、操作和消亡是十分必要的

  对于我们初学者来说,我相信你看完前言你脑子一定还是懵的,什么玩意?我还是看不懂啊!那我先给你简述一下:面向对象的设计离不开类和对象。下面我们来一步一步的来了解面向对象。

一.类和对象

1.类与对象的理解

  类是对现实生活中一类具有共同属性和行为的事物的抽象。

  对象是能够看得见摸得着的真实存在的事物。

  比如说熊就是类,熊二就是熊的一个对象,当然了熊大也是熊这个类的一个对象

2.类与对象的关系

  通过对类和对象的理解,我们可以知道两者之间的关系:类是对事物的一种描述,对象则为具体存在的事物

3.类的定义

⑴类的组成

①属性(成员变量):指事物的特征

②行为(成员方法):指事物可以进行的行为

⑵格式:public class 类名{

               成员变量 

               成员方法

          }

如图:我们创建了一个猫类,里面有它的属性name和age,以及它的行为catchmouse和sleep

cc446e2e5bec4216b3a10e7c786ac512.png

 ⑶对象的使用

  创建了类,那么我们就要创建该类的对象去访问其中的成员变量以及成员方法

①创建对象的格式

类名 对象名=new 类名();

②调用成员的格式:

    成员变量:  对象名.成员变量

    成员方法:   对象名.成员方法();

如图:在测试类中,我创建了一个猫的Tom对象,并调用了其中的成员变量及方法

15aae9751e1f4918befcfbab07159099.png

二.成员变量与成员方法

1.成员变量与局部变量

  在上面我们知道了成员变量就是所描述类的属性,在类中方法外。那么顾名思义,局部变量就是方法内部的变量。

⑴两者的区别

①类中位置不同:成员变量(类中方法外)局部变量(方法内部或方法声明上(方法的参数))

②生命周期不同:成员变量(随着对象的存在而存在,随着对象的消失而消失)局部变量(随着方法的调用而存在,随着方法的调用完毕而消失)

③初始化值不同:成员变量(有默认初始化值)局部变量(没有默认初始化值,必须先定义赋值才能使用)

:如果我们想要在调用方法时声明所创建对象的属性,那么就把成员变量添加到方法中。

如图:我想要在调用Tom的成员方法时展现出Tom的属性,那么我就把Cat类中的成员方法中加上了局部变量,再次运行

683d66dcd85d466ea48825a8f7f0d662.png 01cda437bbfd45a4a36343ef1a9f3f04.png

2. 初识this关键字

  this修饰的变量用于指代成员变量

比如在成员方法中假如方法传来参数name,那么我就可以用this.name来代表成员变量,name就代表局部变量

3.构造方法

⑴概述

构造方法是一种特殊的方法,主要是完成对对象数据的初始化

⑵格式

①空参构造

修饰符 class (){}

如图:空参构造就是创建对象后,对象属性自动初始化为空null,后面可再进行赋值a07bfb8e4ec84f4a8f7bde4507f2f3d8.png

 注:若类中没有写空参构造,系统会默认给出一个空参构造

②带有参数的构造

修饰符 class (参数){}

带有参数的构造方法就是在创建对象时一并初始化数据

如图:构造方法中的参数name是创建对象时外界传来的参数,this.name就是成员变量,this.name = name表示的就是把外界传来的参数name赋值给所创建对象的name

8471bd203ec64f739b7b52b27d111813.png 84a9d702dbcd4042b2751be69200f632.png

4. private关键字

private的汉语意思是私有的,自私的,那么我们可以知道他的作用肯定是和自私有关的

⑴概念

  private是Java的一类修饰符,可以修饰成员变量和成员方法,被private修饰的成员是私有的,只能在本类中进行访问

  如果我们不想让外界访问成员变量,那么我们就要将成员变量私有化,这样外界就无法访问

如图:我将成员变量私有化,在测试类中创建对象再次调用成员变量,程序不用运行就直接报错

f7880179e908490b8f9dfec9cbcb2ab9.png

275a2f1b50ee4f20ab50efde32f1c039.png 

   我们创建对象就是为了使用其中的属性和方法的,这样私有化了之后我们就无法进行访问,无法访问的对象那还有什么意义呢?

因此,私有化成员变量之后若想再次访问,就要提供对应的get和set方法

⑵get和set获取私有化成员变量

①set获取外界传入的变量参数

7de2847310664b70bc700b9f6461f2c2.png

②get返回set赋值后的成员变量 

4b57f459d3ee4e739b1b507e78d4a9b4.png

私有化的成员变量,这样经过set和get方法之后,外界就可以进行访问了

e1a38675c6eb45b5a960c0851ed11ae1.png

 看到这你是不是满脸疑惑,诶?你这是不是闲的慌啊,私有化再获取访问,那我直接不私有化不是可以更方便访问吗?代码还更少。少年别急,往下看!

5.构建标准JavaBean

我们在书写类时有一套标准,这样的一套标准书写规范可以让我们的代码更为简洁,更为整齐,看后让人心情愉悦。哈哈

⑴标准类构造

①类名见名知意

② 成员变量使用private修饰

③ 提供至少两个构造方法,无参构造方法和带全部参数的构造方法

④ 提供每一个成员变量对应的setXxx()/getXxx()

⑤ 如果还有其他行为,也需要写上

66ac46d43e684458aa215d3898fbf57d.png

⑵如何快速构造一个标准的JavaBean类

  自己写代码很累,那么让自己心爱的idea帮你写代码,那你是不是就会很开森( ͡° ͜ʖ ͡°)✧

快捷键Alt+Insert,当然前提是已经写好了带private修饰的成员变量

①构造方法

Alt+Insert选择第一个,按两次Tab,再按Ent(空参构造)

Alt+Insert选择第一个,Crtl+a全选,再按Ent(有参构造)

②get和set方法

Alt+Insert选择第四个,Crtl+a,再按Ent

6.this修饰的变量

在上面我们只是初步了解了this所修饰的变量,我们学完构造方法以及get和set方法后,发现其中都有this关键字,那其中的this都代表着什么?

①用于构造方法中的this

代表构造方法正在初始化的那个对象

②用于get和set方法中的this

谁调用这个方法,this就代表谁

因此我们可以知道this的含义:

this代表所在类的当前对象的引用(地址值)

若有不足,错误指出,望指出更正₍˄·͈༝·͈˄*₎◞ ̑̑

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
面向对象是一种编程思想,通过这种思想可以将复杂的事物简化。它基于面向过程,强调结果而不是过程。面向对象的编程,类是将具有相似行为或属性的事物抽象或集合而成的。对象是类的具体实例,是类的模板。在Java语言,可以通过类来描述现实世界的事物,将事物的属性作为成员变量,将行为作为成员方法。类和对象创建与使用可以通过class关键字创建类,通过new关键字创建对象。类与对象在内存的存储通过引用来实现。 Java面向对象基础知识还包括封装、构造方法、构造代码块、局部代码块、this关键字、继承、static关键字、多态、抽象类、接口等。封装是面向对象的三大特征之一,可以用来保护类的成员变量。构造方法用于创建对象的同时初始化对象成员变量。构造代码块在创建对象时执行,并且在构造方法之前执行。局部代码块是在方法内部定义的代码块。this关键字指代当前对象。继承是面向对象的重要特性,可以通过父类和子类之间的关系实现代码的复用。static关键字用于修饰成员变量和成员方法,可以实现数据的共享。多态是指一个对象可以有多种形态,能够根据上下文自动选择使用哪种形态。抽象类和接口是抽象类型的具体表现,可以提高程序的复用率和可维护性。 在Java,由于不允许多重继承,如果要实现多个类的功能,则可以通过实现多个接口来实现。面向接口和面向抽象类的编程是提高程序复用率和可维护性的重要手段。正确地使用接口和抽象类是面向对象编程的关键。 总结一下,Java面向对象基础知识包括类与对象、封装、构造方法、构造代码块、局部代码块、this关键字、继承、static关键字、多态、抽象类、接口等概念和特性。掌握这些知识可以帮助我们更好地进行面向对象的编程。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汤姆大聪明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值