拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Java类与对象基础

Java类与对象基础

一、面向对象的初步认识

Java是一门面向对象编程(Object-Oriented Programming,OOP)的语言,在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。

之前所学习的C语言与Java不同,C语言是一门面向过程(POP)的语言,我们用洗衣服为例子,用C语言实现就会一次按照:拿衣服,放衣服,倒水,搓衣服,拧干,晾晒的步骤依次按顺序进行,而如果用Java来实现则是想创建洗衣机对象,我们只需要调用洗衣机的洗衣服的方法来用就可以了,加水,搓洗等一些细节都封装在洗衣机内部,我们不用管内部具体是怎么运行的。一句话总结就是,面向过程(POP)强调怎么做(步骤、流程),面向对象强调谁来做(对象、事物)。

二、类的定义与使用

2.1 类的认识

那用刚才的例子来讲,计算机实际上是不认识“洗衣机”这个东西的,那我们怎么告诉Java洗衣机长什么样,有什么属性,能干什么呢?这个时候我们就需要借助类来帮我们实现,类就是对一类事物实体的模板或图纸,主要用来描述实体具有哪些属性,哪些功能,描述之后计算机就可以识别了。

比如:洗衣机,在Java中可以将其看成是一个类别

而洗衣机的品牌,型号,颜色,体积,重量是洗衣机的属性

洗衣机的洗衣,烘干,定时等一系列功能是洗衣机的行为、方法

2.2 类的定义

那用Java语言怎么定义一个类呢?

首先我们需要知道在Java中定义类时需要用到class关键字。

class ClassName{ field; //属性/字段/成员变量 method; //行为/成员方法 }

#注解:class是创建类的关键字,ClassName是类的名字,{}中的是类的主体,field是成员变量,用来描述类;method是成员方法,用来说明类具体有哪些功能。

那么下面我们用洗衣机为例子,定义一个洗衣机类:

注意事项:类名要采用大驼峰的形式命名(每个单词的首字母要大写);

代码中的public是访问修饰符,本篇暂不展开,下篇封装详细学习;

class WashMachine{ public String brand;//品牌 public String type;//型号 public String color;//颜色 public int weight;//重量 //洗衣功能 public void wash(){ System.out.println("洗衣功能"); } //脱水功能 public void dry(){ System.out.println("脱水功能"); } //定时功能 public void setTime(){ System.out.println("定时功能"); } }

这样我们就定义好了一个洗衣机类,趁热打铁,让我们再定义一个“狗狗”类:

狗狗有名字,毛发颜色,狗狗会汪汪叫,会摇尾巴,会吃饭

public class Dog{ public String name;//狗狗的名字 public String color;//毛发颜色 public int age;//狗狗的年龄 //狗狗的行为 //狗狗叫 public void bark(){ System.out.println(name+"汪汪汪"); } //狗狗摇尾巴 public void wag(){ System.out.println(name+"摇尾巴"); } //狗狗吃饭 public void eat(){ System.out.println(name+"正在吃饭"); } }

一般一个文件中只定义一个类,如果非要写多个也不会报错,但是一个文件中只能有一个public修饰的类并且这个类必须和文件名相同。例如。创建一个名为Dog的Java文件,文件中创建狗类和猫类,该如何创建呢?

public class Dog{ public String name;//狗狗的名字 public String color;//毛发颜色 public int age;//狗狗的年龄 //狗狗的行为 //狗狗叫 public void bark(){ System.out.println(name+"汪汪汪"); } //狗狗摇尾巴 public void wag(){ System.out.println(name+"摇尾巴"); } //狗狗吃饭 public void eat(){ System.out.println(name+"正在吃饭"); } } class Cat{ public String name;//猫的名字 public String color;//毛发颜色 public int age;//猫的年龄 //猫的行为 //猫叫 public void bark(){ System.out.println(name+"喵喵喵"); } //猫猫吃饭 public void eat(){ System.out.println(name+"正在吃饭"); } }

如上,如果执意要在一个文件中写多个类,public就要修饰类名和文件名相同的类,其他类不能再用public修饰。

三、类的实例化

3.1 什么是实例化

类是一种自定义类型,可以用来定义变量,用类类型创建对象的过程,就是类的实例化。当我们定义了一个类的时候就相当于在计算机中定义了一个新的类型,它和int、double这些类似,只不过int和double是Java自带的内置类型,而这个类是我们自定义的类型,比如上述代码中的WashMachine、Dog、Cat都是我们自定义出来的新类型,我们就可以用这些类和new关键字来实例化对象,并且同一个类可以创建多个实例。

例如:

WashMachine washmachine=new WashMachine();//实例化一个洗衣机对象 Dog dog=new Dog();//实例化一个狗这个对象 Cat cat=new Cat();//实例化一个猫对象 Dog dog1=new Dog();//用Dog类创建的第二个实例对象

我们这里的new Washmachine(),new Dog(),new Cat()就是实例化出来的对象,而washmachine,dog,cat,dog1是引用变量,它们内部存储的是对象的内存地址,通过引用变量就可以找到它所指向的对象。实例化出来的对象占用实际的物理空间,存储类成员变量。在日常交流中,我们也经常直接说washmachine是对象,属于简化口语。(所以此后我就用引用变量的名字来指代对象)

那么这些被实例化的对象就具有其各自对应类中的属性,也可以调用对应类中的方法。

3.2 类中属性,方法的访问和调用

通过对象的引用可以来访问对象的成员变量和成员方法:引用变量.属性名;引用变量.方法名()

public class Dog{ public String name; public String color; public int age; public void bark(){ System.out.println(name+"汪汪汪"); } public void wag(){ System.out.println(name+"摇尾巴"); } public void eat(){ System.out.println(name+"正在吃饭"); } } public class Main{ public static void main(String[] args){ //实例化一个Dog对象 Dog dog1=new Dog(); //通过"引用.属性名"来访问属性 dog1.name="大黄"; dog1.age=3; //通过“引用.方法名()”来调用方法 dog1.bark(); dog1.eat(); } }

四、总结

本篇我们介绍了Java的类和对象的基础知识,认识了面向对象编程思想,以及它和面向过程的区别。知道了类的概念、定义方式、实例化方法、属性和方法的访问这几个知识点,这是我们后续学习的基础,需要我们熟练掌握。

好了,本篇学习笔记就总结到这里,我们下期再见,拜拜各位未来的‘大佬们’!

返回列表