类和对象的介绍

简介: 类和对象的介绍

类和对象

类与对象的初步认识

类就是一类对象的统称。对象就是这一类具体化的实例

面向对象的好处,将复杂的问题变得简单了,只要面对一个对象就可以

简而言之:

面向对象就是用代码(类)来描述客观世界的事物的一种方式,一个类主要包含事物的属性和行为。

static关键字

a)修饰属性,java静态属性和类相关,和具体的实例无关,换句话说,同一个类的不同实例共用一个静态属性。

被static修饰的变量,所有类共享,访问方式为 类名.属性

b)修饰方法,如果在任何方法上应用static关键字,此方法成为静态方法。

  • 静态方法属于类,而不属于类的对象
  • 可以直接调用静态方法,而无需创建类的实例
  • 静态方法可以访问静态数据成员,并可以更改静态数据成员的值

注意事项1:

  • 静态方法和实例无关,而是和类相关。
  • 静态方法不能直接使用非静态数据成员或调用非静态数据成员(非静态数据成员和方法都是和实例相关的)
  • this和super两个关键字不能在静态上下文中使用(this是当前实例的引用,super是当前实例父类实例的引用,也是和当前实例相

注意事项2:

  • 我们曾经写的方法为了简单,都统一加上了static,但实际一个方法要不要带static,都需要根据具体情况来定。
  • main方法为static方法

构造方法

构造方法是一种特殊的方法,使用关键字new实例化新对象时会被自动调用,用于完成初始化操作

new执行过程

  • 为对象分配内存空间
  • 调用对象的构造方法
    语法规则
  • 方法名必须与类名相同
  • 构造方法没有返回类型声明
  • 每一个类中至少存在一个构造方法(没有明确定义则系统自动生成一个无参定义)

总结

  • 一个类可以产生无数个对象,类就是模板,对象就是具体的实例。
  • 类中定义的属性,大概分为几类:类属性,对象属性。其中被static修饰数据属性为类属性static修饰的方法成为类方法,特点是不依赖于对象,我们只需要通过类名就可以调用其属性和方法
  • 静态代码块优先实例代码块执行,实例代码块优先构造函数执行
  • this代表的是当前对象的引用,并不是当前对象。


相关文章
云立方HTTP代理推荐吗?不同类型代理适用的业务是什么?
随着互联网大数据的应用,HTTP代理也逐渐被大家所熟知应用,HTTP代理服务商也层出不穷,用了这许多年的HTTP代理,很容易就发现这个问题:大家对HTTP代理产品各种名称没有一个统一的标准
|
JavaScript 前端开发
带你读《现代Javascript高级教程》六、Javascript数据类型和类型转换(3)
带你读《现代Javascript高级教程》六、Javascript数据类型和类型转换(3)
174 0
|
SQL 关系型数据库 MySQL
Mysql中查询数据库中包含某个字段的所有表名
Mysql中查询数据库中包含某个字段的所有表名
736 0
|
缓存 算法 Oracle
JVM02——JVM垃圾回收与性能调优(下)(二)
6.垃圾回收 6.1 判断垃圾 6.1.1 引用计数法
JVM02——JVM垃圾回收与性能调优(下)(二)
|
Java 索引
链表中环的入口节点(剑指offer II 022)Java
给定一个链表,返回链表开始入环的第一个节点。 从链表的头节点开始沿着 next 指针进入环的第一个节点为环的入口节点。如果链表无环,则返回 null。
136 0
【LeetCode-SQL专项突破】-第9天:控制流
【LeetCode-SQL专项突破】-第9天:控制流
197 0
【LeetCode-SQL专项突破】-第9天:控制流
|
Kubernetes 容器 Perl
kubernetes--应用程序健康检查
K8S的应用程序健康检查分为livenessProbe和readinessProbe,两者相似,但两者存在着一些区别。 livenessProbe在服务运行过程中检查应用程序是否运行正常,不正常将杀掉进程;而readness Probe是用于检测应用程序启动完成后是否准备好对外提供服务,不正常继续检测,直到返回成功为止。
1646 0
|
关系型数据库
Navicat 破解版的安装
因为电脑系统换掉,重装系统,重新配置了一下环境,安装Navicat,现记录一下过程,以便下次查询使用。 我们首先百度搜索一款navicat for mysql然后进行下载。 2 当我们下载完成之后首先进行数据包的解压,同时可以运行navicat for mysql程序。
1880 0
|
域名解析 缓存 网络协议

热门文章

最新文章