类和对象(正式步入爪哇新世界)

 面向对象

java是一门纯面向对象的语言,有了对象,就有了解决问题的方向.

而面向对象的过程也是在对象与对象之间完成的,就好比洗衣服,四个对象:人,衣服,洗衣粉,洗衣机,当然我们不需要关心洗衣机工作的过程,我们只需要关心结果即可,也就是我们的衣服被洗干净了。用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。

2.类定义和使用

2.1、2.2 简单认识类,类的定义

  类是用来对一个实体或对象进行描述的,描述它的属性,功能,外观等等。

我们创建类,要用到的关键字是class,class后加上名称即可,一般来说类名是采用大驼峰的形式及首字母大写,类中有成员变量,和方法(构造方法和成员方法)具体如下:

  这里我们定义一个洗衣机

 3.类的实例化

 什么是实例化呢?或者怎样将类进行实例化呢?我们要知道的是定义一个类,就相当于在计算机中定义了一个新类型,及该类型和基本类型一样,可以直接进行使用。那么实例化就是用我们创建的类的类型创建对象的过程,就是类的实例化,可以认为是我们创建了类的灵魂,需要借助一块躯体帮助类完成各种功能,而找躯体的过程就是实例化的过程。当然实例化的过程我们需要用到new关键字,具体实现可看下图:

 

4.this引用

 为什么要引用this关键字?

 1.this关键字可以避免局部变量优先得原则及当形参不小心与成员变量同名时导致局部变量传入

仔细观察下面两张图的细节:

 

 

 

 在观察两个结果的区别,是不是有效的避免了局部变量优先的问题。在构造方法中this关键字还有能调用构造方法的作用。

5.对象的构造和初始化

在Java中在定义一个局部变量的同时就要完成初始化的,不然的话编译器是会报错的。

5.2构造方法

构造方法是一种特殊的成员方法,它的特殊点也是与成员变量的区别:

1.构造方法的名字必须与类名相同,并且创建对象时会被系统自动调用,而成员方法就不需要同名,且不会被系统自动调用需要你自己手动完成调用。

2.没有返回值类型,不能加void修饰,成员方法需要。

3.构造方法可以进行重载,当然成员方法也可以(嘻嘻)。

 

 是吧跟我说的一样,真厉害!下面是重载的实现:

 

 

 关于初始化局部变量是需要直接进行初始化的,而成员变量可以不直接初始化,但若是你没有进行初始化那么系统会给你直接赋为默认值,也就是系统会自动帮你进行初始化。

6.封装

封装可以将你的重要代码完美的保护起来,可以有效的保护你的专利权。

封装(面向对象三大特征之一):当使用private修饰成员变量时,即可对该成员变量进行封装,及该成员变量就变为局部变量只能在该类中使用,当然成员方法也可以被private修饰,当你进行了封装之后想要使用给变量时可以使用set和get方法。

 当我们试图将name拿出Washer类使用的时候我们就会发现,编译器报错,而使用set和get方法间接使用name就不会报错。

 那么就不得不拿出这张限定符的表格了,同时也可以介绍一下包和自定义包,

导包及导入一个包,使我们可以使用给包中的功能,有点c语言中include的感觉

我们可以以这个包名为类型创建对象并使用其功能,如下:

 

 但是这些都是官方给我们写好的包,我们也可以自己定义包,称为自定义包。

新建包

 包内建新类

 之后那么恭喜你成功建立好了自定义包

 你可以在这个包中实现各种功能,也可导入到其他包中使用

 7.static成员

在java中被static修饰的成员,称之为静态成员,其不属于某个具体的对象,是所有对象所共享的

当时用static修饰成员变量之后,该成员变量就不存在于对象中了,该成员变量会被存在方法区,成为公共成员(静态成员变量)静态成员变量是不依赖于对象,及没有对象也是可以使用

 而要是使用static修饰方法时,该方法就为静态方法,在静态方法中,不能直接调用非静态方法,因为非静态方法需要依靠对象,要是想要调用就要新建一个对象,在这个对象下调用,但是非静态方法内部是可以直接调用静态方法的,因为静态对象是不依赖对象的。

 

 8.代码块

其实感觉代码块这方面也没啥说的,代码块要是存在,在代码块中的变量就会变成局部变量,构造代码块也叫实例代码块,其实就是给该类中的成员变量赋值,就是实例化,静态代码块的话,就是专门初始化静态成员变量的。

还有一些细节就是实例代码块和静态代码块:1.静态代码块比实例代码块优先级更高,及执行更早,且不管你创建几个对象,静态代码块只执行一次,而实例会多次。
2.若有多个静态代码块,则直接看先后顺序就行了。
3.实例代码块只有实例化对象时才会被执行。
OK啦,今天的分享就到这里,下次见啦!

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值