对于Java中面向对象的理解

@TOC面向对象的三大特征
面向对象的生命周期

类的概念:泛泛的概括或者叫做概念,是一个泛泛的模型,是一个模板,类根本不存在,是人类大脑高度抽象出来的结果。类是对象所具有的共同的特征,包括状态和动作。一个类:桌子,它的不同属性具体到不同的对象上是不同的,不仅属性是这样,对象的动作也是这样。
对象的概念:对象是确实存在的,通过类可以创建出对象,基于类创建出对象。对象的共同特征综合起来就是类。想访问颜色的时候某一个具体的桌子对象才能访问。

就把类想成人就行了,人是有动作和状态(Java中描述动作用方法,描述状态用属性,即类的属性和方法),不同的人这两项是不一样的,这个所谓的不同的人实际上就是对象。不同的人是不同的实例,所以对象又被叫做实例。

不同的状态(即属性)有不同的字面值,也可以理解成表达各种状态需要使用数据(就算再复杂的数据也可以使用字符串类型来描述)也就是说有不同的数据,数据的记录在Java中是以变量的方式来实现的。不同的数据对应不同的数据类型,而数据类型包括基本数据和引用数据类型。
比如说String name ,其中name是一个变量,叫做name的变量,变量的类型是string这种引用数据类型。(只有变量可以储存数据)

特别重要的一点就是 public class Student(String name=“zhangsan”)中Student也是一个引用数据类型。另外,在Java中所有的xxx.class中的xxx都是引用类型。因为xxx是类,(学生Student)类型,引用类型。

通过一个类创建出来的100个对象,都有name属性。一个对象就有一个name变量,一百个对象就有一百个name属性,即name变量有一百个不同的值。访问某个name要通过对象访问。这个十分重要。即访问name要创建对象,不然的话name本身就是一个引用数据类型,系统会直接付一个空值给name,要想有意义,就必须去通过“对象”访问。特别注意name信息不能通过类 去访问。因为这样的话没有意义。
而name这种成员变量又被叫做实例变量。对象又被叫做实例,实例变量又叫做对象变量。即类体之内方法体之外的变量=成员变量=实例变量=对象变量。
创建对象之后才会有name的内存空间。

new是在堆内存开辟内存空间。实例化对象就是创建对象。new空格类名,new Student; ,这个语句相当于创建了一个以student为模板的对象(这就是为什么创建对象的语句是new加空格加类名)。此时这个对象具有类里面的所有属性和方法(这个要看你的之前public class student类的类体里面是怎么写的),故而系统在堆内存中开辟了空间之后所有对象所具有的属性与方法全部都和类里面的一样(尤其指数量,一个不多一个不少),而且此时系统给这些变量都符了默认值(比如引用数据类型会被赋予null)。此处特别注意:对象里面包括的所有变量在这里叫做实例变量(可以理解为这些个变量是要表示具体的实际例子,也就是具体的某一个对象,所以叫做实例变量)老师讲的例子是Student s=new Student;前面的student表示s变量是一个(s是变量名)引用数据类型,后面的student是类名,两者表示的意义不一样。new student是一个对象。s是一个局部变量(在栈内存中存储),它存放了student这个对象(正确说法应该是以student为模板的对象)在堆内存中的地址从此s有了新名字:引用。【在Java中想访问堆内存当中的对象内部的实例变量,必须通过引用去访问】。方法:引用.变量名,如s.name。String i=s.name。

我的问题来了【new空格类名,这个语句相当于创建了一个以student为模板的对象】,那如果还想创建另一个这样的对象的话要如何编写程序?答案就是:这样写Student p=new Student(注意已经有了创建了student这个类)。这样又创建了一个student对象(正确说法应该是以student为模板的对象),和之前的不一样,不一样在地址变成了p,所以在堆内存中和s是不一样的,不过两者都叫做【Student对象】(老师就是这么画内存图的,实际上叫做以student为模板的对象)

如何把类创建成对象----------注意这种说法。

特别注意ppt上整个软件开发的过程,Java中是先有类的,再通过类创建对象,进而可以写作起来进行。 要想得到有意义的颜色必须具体到某一个桌子对象上去。

类到对象和对象到类的过程不一样。
有了类以后可以造一个对象,对象也可以叫做实例,从类到对象的过程叫做实例化。那么是否是创建对象就是或者就可以叫做实例化???????

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值