最近要开始投简历了,所以我闲着把Java基础复习一遍。

首先说说类和对象。

今天心情不错,来复习复习Java基础:类和对象。

Java是什么?Java是一门面向对象的编程语言(OOP),想要理解Java,首先要理解类(Class)和对象(Object)这两个概念。

Java中的类可以看成C语言的结构体的升级版。结构体是一种构造数据类型,可以包含不同的成员(变量),每个成员的数据类型可以不一样,可以通过结构体来定义结构体变量,每个结构体拥有相同的性质,举个栗子:

#include <stdio.h>
int main(){// 定义结构体 Studentstruct Student{// 结构体包含的变量char *name;int age;float score;};// 通过结构体来定义变量struct Student stu1;// 操作结构体的成员stu1.name = "小明";stu1.age = 15;stu1.score = 92.5;printf("%s的年龄是 %d,成绩是 %f\n", stu1.name, stu1.age, stu1.score);return 0;
}

运行结果:

小明的年龄是15,成绩是92.500000

Java中的类也是一种构造数据类型,但是对C语言中的结构体有所升级,进行了一些扩展,类的成员不但可以是变量,还可以是函数(方法),通过类定义出来的变量也有特定的称,叫做“对象”,例如:

public class Demo {public static void main(String[] args){// 定义类Studentclass Student{  // 通过class关键字类定义类// 类包含的变量String name;int age;float score;// 类包含的函数void say(){System.out.println( name + "的年龄是 " + age + ",成绩是 " + score );}}// 通过类来定义变量,即创建对象Student stu1 = new Student();  // 必须使用new关键字// 操作类的成员stu1.name = "小明";stu1.age = 15;stu1.score = 92.5f;stu1.say();}
}

运行结果:

小明的年龄是15,成绩是92.5

在C语言中,通过结构体名称就可以完成结构体变量的定义,并分配内存空间:C语言Struct Student stu1这样不但定义了结构体变量,并且也分配了内存空间。

但是在Java中,仅仅通过类来定义变量不会分配内存空间的,必须使用new关键字来完成内存空间的分配:Student stu=new Student()。(实际上这条语句相当于Student stu;stu=new Student;这两句代码,第一句代码的意思是创建stu这样一个变量,第二条语句是给stu分配内存空间)。

可以将类比喻成图纸,对象比喻成零件,图纸说明了零件的参数;一张图纸可以生产出具有相同性质的零件,不同图纸可以生产不同类型的零件。

在Java中,使用new关键字就能创建一个对象,即将图纸生产成零,这个过程叫做类的实例化,因此也称为对象是类的一个实例。

注意:类只是一张图纸,起到说明的作用,不占用内存空间;对象才是具体的零件,要有地方来放,才会占用内存空间。

类所包含的变量和函数都有特定的称呼,变量被称为属性,函数被称为方法,属性和方法统称为类的成员。

面向对象编程(Object Oriented Programming, OOP)

类是一个通用的概念,Java,C++,C#,PHP等很多编程语言中都有类,都可以通过类创建对象,可以将类看做结构体的升级版。

因为Java,C++等语言都支持类和对象,所以使用这些语言编写程序被称为面向对象编程(OOP),这些语言也被称为面向对象的编程语言。C语言因为不支持类和对象的概念,被称为面向过程的编程语言。

实际上,面向对象只是面向过程的升级。

面向对象编程在代码执行效率上没有任何优势,相反面向过程编程的代码执行效率要高与面向对象编程。

面向对象编程的主要目的是方便程序组织和管理代码,快速梳理编程思路。

Java中类和对象的概念相关推荐

  1. java中类和对象的个人理解

    目标: 1.掌握类和对象的格式和用途 2.把握好如何将生活中类和对象转换为程序. 面向对象编程:模拟现实生活. 所有的概念,都是源自于生活中. 1.找出生活中的对象? 对象:只要是生活中具体的某一个物 ...

  2. java中类与对象回顾总结

    文章目录 一 类与对象的定义 二 类的成员变量 总结: 三 类的方法 (1)普通成员方法 (2)静态成员方法 类与对象的关键E点: 疑难解答: 四 private封装 五 setter与getter ...

  3. Java面向对象:对象的概念及面向对象的三个基本特征

    面向对象简称OO(Object Oriented),20世纪80年代以后,有了面向对象分析(OOA).面向对象设计(OOD).面向对象程序设计(OOP)等新的系统开发方式模型的研究. 对Java语言来 ...

  4. JAVA中类、对象、方法之间的关联关系

    引言   Java是一门面向对象的程序设计语言,基础语法是由类.对象.方法等共同组成,一个Java程序可以看成是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作. 定义   类:是一个模板,是 ...

  5. 【JavaSE_07】Java中类和对象-封装特性

    一.谈谈什么是面向对象的思维 理解面向对象,重点是要思考以下的问题 面向过程 vs 面向对象 Ø 谈谈什么是面向过程的编程思想? Ø 为什么有面向过程还要有面向对象? Ø 谈谈什么是面向对象的编程思想 ...

  6. java什么是类和对象,Java类和对象的概念

    Java是一门面向对象的编程(Object Oriented Programming, OOP)语言,面向对象是相对于面向过程而言.那么什么是面向对象,什么又是面向过程呢? 面向过程--步骤化 面向过 ...

  7. 最接地气的通俗易懂理解java中类和对象(什么是类,什么是对象)

    类和对象(什么是类,什么是对象) 以通俗易懂.说人话的方式理解类和对象以及如何创建对象(实例化) 在以下中,标红的字体就是类,标蓝的字体就是对象! 我问大家几个问题: 1.你最喜欢的娱乐明星是哪些? ...

  8. Java中类和对象的关系

    一.基本概念 1.类:类是一个模板,它描述一类对象的行为和状态.(比如一张汽车设计图纸) 2.对象:对象表示现实世界中一个具体的事物.对象是类的一个实例,有状态和行为.例如,一条狗是一个对象,它的状态 ...

  9. 怎么去理解JAVA中类与对象的关系

    首先要明确,在现实生活中,每一个物体都有自己的基本特征,专业一点也可以说成是属性有些甚至还有一定的行为.例如 汽车的特征:有车门.有轮胎.颜色各一等等,行为:有行驶,开车门,开车灯,等等.有这些属性和 ...

最新文章

  1. webpack4.x配置
  2. 467python教程_Magnus Lie Hetland的《Python基础教程(第3版)》自学笔记(持续更新中)...
  3. mysql在同一台机器上实现主从_MySQL 5.7主从搭建(同一台机器)
  4. java日期处理简单封装
  5. php数据库添加会员等级显示,给ECSHOP后台订单列表加上显示会员等级
  6. ZOJ 1015 弦图判定
  7. PuTTY怎么读,PuTTY怎么发音,PuTTY的发音
  8. JL杰理 蓝牙音箱 蓝牙耳机 方案 找个有经验的兄弟
  9. 使用 Travis-CI 部署 HEXO 博客
  10. linux下mkdir出现mkdir(): File exists错误
  11. 2tb的硬盘容量在计算机中识别的容量为,硬盘容量限制又来了,用2T以上硬盘的要注意了...
  12. Nginx配置Https 443 端口
  13. [redis]Redis ZSet排序问题(排名实现按时间顺序排布)
  14. android头像相册/拍照选取,裁剪及上传综合案例
  15. 帕慕克给我上的一堂编程学习课
  16. listview连接mysql_winform(ListView及数据库连接)
  17. Cloudflare免费更换节点,加速你的网站
  18. Git 使用方法/(附带右键菜单修改方法)
  19. ibm服务器光模块位置,IBM X3650服务器内部结构拆解一
  20. 《游戏学习》Java实现蜘蛛纸牌小游戏源码

热门文章

  1. 如何实现微信扫二维码调用外部浏览器打开指定页面的功能
  2. 电脑下载的腾讯视频怎么转换成mp4格式?腾讯视频如何转换成mp4格式最新?
  3. 台式机和笔记本对比?
  4. Windows系统键盘各键作用和快捷方式
  5. Jeesite 使用初级
  6. #x开头的是什么编码呢。浏览器可以解释它。如#20013;#22269;等同与中文中国?...
  7. 华东师范计算机科学与技术考研难吗,华东师范大学考研这些专业慎重考虑,报录比太吓人了。。。...
  8. JavaScript(12) jQuery选择器(基本选择器、层级选择器、伪类选择器、属性选择器)
  9. Android友盟集成QQ、微信、微博等第三方登录与分享
  10. 企业网站产品页面优化技巧