栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

从C到JAVA(类和对象)【1】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从C到JAVA(类和对象)【1】

在java和C的区别主要就是面向对象和面向过程的语言的区别,这里我们来讲一下类和对象

目录

1.什么是面向对象

2.类

3.this

3.1this是什么?

3.2this的使用方法

4.构造方法


1.什么是面向对象

就好比我要洗衣服,那么面向过程的时候,就相当于我们传统的用手搓衣服,每一个过程都需要我自己去执行,而面向对象就是我买了一个洗衣机,我只需要把我的衣服放到洗衣机里面,剩下的就交给洗衣机来完成,这就是面向对象

2.类

类是什么?类是用来实例化对象,那对象是什么?对象就是我们生活中的实例化,就好比我们上面的我的洗衣机,就是一个对象,然后我们需要一个创造洗衣机的工厂,他们就叫做类

类的定义和使用

类其实相当于一个的自定义的类型(可以暂时理解为C中的结构体)

定义的方法

class WashMachine{

}

这就是定义的一个类

还拿洗衣机作为例子

类里面可以有两个东西

1.字段/属性(成员变量)

public String brand ; // 品牌 public String type ; // 型号 public double weight ; // 重量 public double lenght ; // 长 public double height ; // 高 public String color ; // 颜色 暂时先加上public,到后面继承会讲

2.方法/行为(成员方法)

public void WashClothes (){ // 洗衣服 System . out . println ( " 洗衣功能 " ); } public void dryClothes (){ // 脱水 System . out . println ( " 脱水功能 " ); } public void SetTime (){ // 定时 System . out . println ( " 定时功能 " ); } 这一段是洗衣机的功能,我们一个抽象出来一个叫洗衣机的类了

注意事项:

1. 一般一个文件当中只定义一个类 2. main 方法所在的类一般要使用 public 修饰 ( 注意: Eclipse 默认会在 public 修饰的类中找 main 方法 ) 3. public 修饰的类必须要和文件名相同 4. 不要轻易去修改 public 修饰的类的名称,如果要修改,要通过开发工具修改

 修改可以用开发工具来进行修改

由类产生对象的过程,叫做实例化对象

假如是上面的类,我们可以用来实例化一个洗衣机对象

WashMachine  w ashMachine = new WashMachine (); 这样就实例化出来一个w ashMachine 的对象了 相当于 w ashMachine存了new出来这个对象的地址,因为dog变量是放在栈上的,而对象是放在堆上的,而对象中放的就是我上面创建类的时候,里面的成员变量 w ashMachine. brand就可以直接访问到成员变量

 washMachine.dryClothes方法和成员变量都是用对象的引用.

注意:方法不是放到堆里面去的,方法的调用是开辟栈帧的

通过一个类可以实例化多个对象

总结一下:类其实就相当于是盖房子的图纸,可以盖跟多很多款型一样房子,图纸就是类,房子就是实例化的对象

3.this

3.1this是什么?

this简单来说就是当前对象的引用,就可以理解为我用animal类实例化了一个对象叫cat,那我们在animal中的方法里面用this其实就相当于cat

3.2this的使用方法

方法的形参和成员变量名字想同时

这里我们就可以用this来修改成员变量中的值,如果不在前面加上this的话,我们访问的时形参中的name和age因为局部优先

这里可以用this的原因就是this时当前对象的引用,所以我们可以认为哪里时cat.name,这样就能解释为什么this可以更改成员变量的值了

注意:this只能在成员方法中使用,而且this引用了一个对象之后就不能再引用另外一个对象了

4.构造方法

构造方法的方法名必须和类名相同才可以,而且,构造方法不需要参数

如下就是一个构造方法

在我们调用方法之前,我们的编译器会先执行我们的构造方法,但是如果我们不写构造方法,编译器会自动提供一个构造方法,如果我们写了构造方法,那么编译器不再提供构造方法也是可以有参数的,并且可以对成员变量进行初始化操作构造方法的使用如下图s

注意:构造方法再一次实例化对象值调用一次,,并且可以进行重载

这就是一个带参数初始化构造方法,但是我们在进行初始化对象的时候就必须也要传参数进去了,因为我们自己写了一个构造方法,那么编译器便不会再生成无参的构造方法了使用如下

 这里,this又可以发挥作用,在构造方法中,可以用this来调用其他的构造方法

这里就是这样,在构造方法中,用this来调用其他的构造方法,可以简化代码

注意:这里的this必须放到第一行,并且不能形参环

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/927344.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号