Java_类与对象
类与对象
概念
- 类是抽象的,概念的,代表一类事物,比如人类、猫类……,即它是数据类型。
- 对象是具体的,实际的,代表一个具体事物,即使实例。
- 类是对象的模板,对象是类的一个个体,对应一个实例
对象在内存中存在的形式

属性/成员变量
- 从概念或叫法上看:成员变量 = 属性 = field (即 成员变量是用来表示属性的)
- 属性是类的一个组成部分,一般是基本数据类型,也可以是引用类型(对象,数组)。比如前面定义猫类时的int age;就是属性。
注意事项和细节说明
属性的定义语法同变量,示例:访问修饰符 属性类型 属性名;
访问修饰符:控制属性的访问范围
有四种访问修饰符:
public,protected,默认,private
属性的定义类型可以为任意类型,包含基本类型或引用类型
属性如果不赋值,有默认值,规则和数组一致。
如何创建对象
先声明再创建
Cat cat;//声明对象cat
cat = new Cat();//创建
直接创建
Cat cat = new Cat();
如何访问属性
对象名.属性名
类和对象的内存分配机制(※)

Java内存结构:
栈:一般存放基本数据类型(局部变量)
堆:存放对象(Cat cat,数组等)
方法区:常量池(常量,例如字符串),类加载信息
示意图[Cat(name,age,price)]
创建对象的流程:
Person = new Person();
p.name = "Tom";
p.age = 10;
先加载Person类信息(属性和方法信息,只会加载一次)
在堆中分配空间,进行默认初始化
把地址赋给p,p就指向对象
进行指定初始化,比如:
p.name = "jack" p.age = 10
成员方法
在某些情况下,我们要需要定义成员方法(简称方法)。比如人类:除了有一些属性外( 年龄,姓名..),我们人类还有一
些行为比如:可以说话、跑步..,通过学习,还可以做算术题。这时就要用成员方法才能完成。现在要求对Person 类完善。

Java_类与对象的更多相关文章
- Java_类和对象(完美总结)_转载_覆盖和隐藏的区别,覆盖就不能使用了,而隐藏提供全局方法名或者全局变量名还可以使用
转载自海子:http://www.cnblogs.com/dolphin0520/p/3803432.html Java:类与继承 对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础.抽象.封 ...
- JAVA_基础反射创建运行时类的对象
通过反射去创建对应的运行时类的对象 newInstance():调用此方法,创建对应的运行时类的对象.内部调用的是空参的构造器. 要想此方法正常的创建运行时类的对象,要求: 1.运行时类必须提供空参构 ...
- Java编程里的类和对象
像我们搞计算机这块的,都知道这么一件事,当前的计算机编程语言主要分为两大块,一为面向过程,二为面向对象.Java就是一门纯面向对象的语言.学习了一个月左右的Java,在下对于Java当中的类和对象有了 ...
- Python - 类与对象的方法
类与对象的方法
- C++基础知识(5)---类和对象
终于把C++中的基础在前面的几篇博客中总结完了,可能还有一些语法还没有总结到,没关系,以后用到了再查资料就好.类是C++中的一个非常重要的概念,这是区别你使用的C++到底是面向过程还是面向对象的一个重 ...
- 简述JavaScript对象、数组对象与类数组对象
问题引出 在上图给出的文档中,用JavaScript获取那个a标签,要用什么办法呢?相信第一反应一定是使用document.getElementsByTagName('a')[0]来获取.同样的,在使 ...
- 前端学PHP之面向对象系列第一篇——类和对象
× 目录 [1]类 [2]成员属性[3]成员方法[4]对象[5]成员访问[6]this 前面的话 面向对象程序设计(OOP)是一种计算机编程架构.计算机程序由单个能够起到子程序作用的单元或对象组成,为 ...
- Objective-C Runtime 运行时之一:类与对象
Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一 ...
- [Java入门笔记] 面向对象编程基础(一):类和对象
什么是面向对象编程? 我们先来看看几个概念: 面向过程程序设计 面向过程,是根据事情发展的步骤,按进行的顺序过程划分,面向过程其实是最为实际的一种思考方式,可以说面向过程是一种基础的方法,它考虑的是实 ...
- 解析Java类和对象的初始化过程
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来 ...
随机推荐
- Codeforces Round #849 (Div. 4)
A. Codeforces Checking 题意 每个案例给一个字符,如果在 "codeforces" 中出现过,输出 YES,否则输出 NO code /** * @autho ...
- linux08-进程管理
1.任务调度 2.进程 3.服务 4.进程.网络监控 1.任务调度crond 1.1基本说明 任务调度:是指系统在某个时间执行的特定的命令或程序. 任务调度分类: 1.系统工作:有些重要的工作必须周而 ...
- 4.12 疫情数据可视化 毕设(初稿版 crud+可视化echarts
4.22 完成地图 数据可视化~~~ 599x150 解决不显示图片的问题 参考文档 https://blog.csdn.net/qq_51917985/article/details/121380 ...
- 【已解决】SQL2012启动时报错:cannot find one or more cpmponents
下载Microsoft Visual Studio 2010 Shell(Isolate)-CHS安装即可 下载地址:Visual Studio 独立 Shell 下载及安装:点击同意许可,选择vs2 ...
- Hystrix断路器
1.介绍 ①产生原因 服务雪崩: 多个微服务之间调用,假设A调用B,C,B和C又调用其他微服务,这就是扇出. 如果扇出的链路上有某个微服务调用响应时间过长或者不可用,那么A调用会占用越来越多的系统资源 ...
- 安卓开发 java控制UI
创建布局管理器对象 设置背景 设置活动界面 按钮事件 按钮显示
- linux配置两个不同网段的ip and linux批量添加连续IP
转载csdn: centos 下批量添加连续IP_cdefg198的专栏-CSDN博客_centos批量添加ip 转载csdn: linux配置两个不同网段的ip_子曰小玖的博客-CSDN博客_lin ...
- K8S 1.20 弃用 Docker 评估之 Docker 和 OCI 镜像格式的差别
背景 2020 年 12 月初,Kubernetes 在其最新的 Changelog 中宣布,自 Kubernetes 1.20 之后将弃用 Docker 作为容器运行时. 弃用 Docker 带来的 ...
- Sptring cloud Alibaba Sentinel 实现熔断与限流
随着微服务的流行,服务和服务之间的稳定性变得越来越重要. Sentinel 以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护服务的稳定性. 作用: 服务雪崩 服务降级 服务熔断 服务限 ...
- Vue 超长列表渲染性能优化
参考:https://juejin.cn/post/6979865534166728711#heading-3 组件懒加载参考:https://github.com/xunleif2e/vue-laz ...