欢迎来到【开开心心学java,快快乐乐写代码】此专栏。众所周知,java这门语言是典型的面向对象的一门语言。类与对象是java中很基础但很重要的知识点,了解类与对象,才算对java有了真正意义上的一个入门级的理解。依旧还是写的很详细,依旧还是干货满满,快来看看吧~
目录
1、什么是面向对象
2、面向过程与面向对象的区别
3、类的概念和定义
3.1类的概念
3.2类的定义
4、类的实例化---对象
5、类与对象的说明
Java是一门纯面向对象的语言(Objected Oriented Program,OOP继承),在面向对象的世界里,一切皆对象。面向对象是一种解决问题的思想,主要依靠对象与对象之间的交互来解决问题。用面向对象的思想来涉及程序,更符合人们的逻辑认知。在一些大型的项目之中,面向对象的设计更利于一些项目的设计、拓展以及维护。
举个例子:
传统的洗衣服就好比面向过程,而现在用洗衣机来洗衣服就好比是面向对象,为什么这么说呢,接着往下面看吧~
传统的洗衣过程:
在这些过程中,每一个步骤都需要自己亲自去参与,少了任何一个步骤可能都不行。这个传统的洗衣过程注重的是整个洗衣过程。而且不同衣服洗的方式,时间长度,拧干方式都不同,处理起来就比较麻烦。如果将来要洗鞋子,那就又是另一种方式。
如果以这种思想去写程序,会比较麻烦,且对一些大型程序的拓展和维护会比较麻烦。
现代洗衣服过程:
在这个现代洗衣过程中呢,总共有四个对象:人,衣服,洗衣粉,洗衣机。整个过程就是人,衣服,洗衣粉,洗衣机这四个对象相互交互完成的。用户只需要把要洗的衣服放入洗衣机,倒入洗衣粉,然后启动即可。并不需要关心洗衣机如何运转、如何甩干的。
注意:面向对象不是一种语言,而是一种解决问题的方法。面向过程与面向对象没有好坏之分,只有适合与否,关键用哪种要看具体的项目。
面向对象程序设计关注的是对象,而对象在现实生活中是一个个的实体。而很多实体也就是对象会有很多公共点,而类就相当于是对这些相似实体的一个抽象。
比如,对于学生,每一个学生都可以看做是一个对象,他们都有姓名,学号,性别,年龄。他们都需要上课 、做作业。因此我们可以抽象出一个学生类,类包含属性和方法。在这里的学生类中的属性就是姓名,学号,性别和年龄。而方法就是上课、做作业。这个学生类是根据每一个学生实体抽象出来的,是学生的一个模板,它不是任何一个学生,在现实生活中是不存在的。如下图:
看到这里,相信大家应该知道什么是类,什么是对象了。那在java语言中,怎么去定义一个类呢?
在java中定义类需要用到class关键字,具体格式如下:
// 创建类
class ClassName{ field; // 字段(属性) 或者 成员变量 method; // 行为 或者 成员方法 }c
class为类的关键字,用来说明这是一个类,ClassName是类的名字,可以自行定义,{}里面是类的主体。
类中包含的内容称为类的成员。属性主要是用来描述类的,称之为类的成员属性或者类成员变量。方法主要说明类具有哪些功能,称为类的成员方法。
如定义一个学生类:
class Student{ public String name;//姓名 public int age;//年龄 public String classes;//班级 //学生上课功能 public void func1(){ System.out.println(name+"在上课"); } //学生做作业功能 public void func2(){ System.out.println(name+"在做作业"); } }
注意事项:
(1)类名采用大驼峰形式。
(2)不是所有的属性和方法都必须用public来修饰,后面我会再出一篇博客仔细讲解关于修饰限定符的作用的,在这里先用public。
(3)此处写的方法不带 static 关键字,后面的博客也会为大家详细解释的。
(4)一般一个文件包含一个类。
(5)main方法所在的类要用public修饰(Eclipse会在public类中寻找main方法)。
(6)public修饰的类必须要和文件名相同。
定义了一个类,就说明 在计算机中定义了一种新的类型,与int、double等相似。只不过int和double是java语言自带的内置类型,而类是用户自定义了一个新的类型。就如上文定义了一个学生类,有了这个自定义的类之后,我们就可以那拿这个学生类去定义一个变量,而这个变量就叫做一个实例(对象)。
用类类型创建对象的过程,称为类的实例化,在java中采用new关键字,配合类名来实例化对象。
就拿刚刚的学生类来说,实例出一个对象的语法就是:
Student student=new Student();
以上只是创建了一个对象student,还可以根据需求实例更多的学生类对象。
class Student{
public String name;
public int age;
public String classes;
public void func1(){
System.out.println(name+"在上课");
}
public void func2(){
System.out.println(name+"在做作业");
}
}
public class Test {
public static void main(String[] args) {
Student student=new Student();
student.name="小明";
student.age=18;
student.classes="四班";
student.func1();
student.func2();
}
}
运行结果:
注意事项:
(1)new关键字用于创建一个对象的实例。
(2)一个类可以创建多个对象。
(3)使用'.'来访问对象中的属性和方法 。
(1)类只是相当于一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员。
(2)类是一种自定义的类型,可以用来定义变量,在java中我们称那个变量为对象。
(3)一个类可以实例化多个对象,实例出来的对象会被分配实际的物理空间,用来存储对象的成员变量。
(4)打个比方:类就好像建筑工程中房子的设计图纸,实例化类就好像根据图纸建造出一栋房子,这栋房子就是对象。而那张图纸并不代表有真正的房子存在,并不占用建筑空地,只有根据图纸设计出真正的房子才会占用空间。同样类也只是一个设计,实例化出的对象才能实际存储数据,占用物理空间。
以下是一个图文抽象概念理解:
以上就是我要今天分享的内容啦,后续我还会继续更新的哒,常看我的博客会学到很多知识哦