4.object和Class配合工作原理   

【新手可忽略不影响继续学习】 Class是"类"的意思,是抽象的,并没有具体的说是哪个东西。而object是具体的,实实在在存在的一个东西,一个物体。比如车就是一个类,而不是一个object,因为车这个概念是抽象的,并没有具体指明是哪辆车。而车牌号为京HT3113的这辆车就是一个object,因为它实实在在的存在。而另外一辆车牌号为京jw2344车是另外一个实实在在的object,这两个object属于一类叫"车"。车这一类有别于另外一类:窗体window。window是类而不是object,原因是你并没有实实在在,具体的指明,@马克-to-win是哪一个window,而我电脑上,暴风的window或迅雷的window就是两个具体的实实在在的object。

【新手可忽略不影响继续学习】 类相对于对象来讲是抽象的,但好处是可以总结提取出所有对象的共同性,比如车这类都是有四个轮子的,而window这类都有宽度,且window这类可以被关闭。这样属于window这一类的对象,比如暴风window或迅雷window都有宽度,@马克-to-win且都可以被关闭。福利来了,"关闭"这行为,所有window对象都有。具有共性的”关闭”行为如果放在类中只需放一份,而放在对象中却要放n份,我们立刻看出了类和对象协同工作的好处。好,综上所述,我们给出代码: 

class Window {
    int width;
    int height;
/*close放在类中只需放一份。省去重复工作, 每个object都可以用, 当调用baoFengObject.close();时, 以下方法被执行,其中width变量,是baoFengObject的属性,而不是xunLeiObject的属性。 */  
    void close() {
        System.out.println("kuan" + width + "的window被关闭。");
    }
}

public class Test {
    public static void main(String[] args) {
/*Window baoFengObject = new Window();和 int a=3如出一辙, int a=3说明a是int这个类型的,而不是float
 这个类型的。Window baoFengObject = new Window(); 说明baoFengObject这个对象属于window这个类, 而不是
 车这个类的, 而且int a=3 在内存中分配了a这个空间等于3,而Window baoFengObject = new Window();时
 baoFengObject在内存 中初始化了,被分配了空间,其中width初始化成了0 @马克-to-win*/
        Window baoFengObject = new Window();
        baoFengObject.width=999;//999代表暴风
        baoFengObject.height=999;//999代表暴风
        Window xunLeiObject = new Window();
        xunLeiObject.width=111;//111代表迅雷      
        xunLeiObject.height=111;//111代表迅雷      

/*有新手怎么都不明白下面一句的意思?什么是baoFengObject.close();
,好,在前面java一章,我们学过方法,method,子函数,这些都是一回事,close()方法,close()子函数总明白吧?这里baoFengObject.close(),说的就是调用baoFengObject的close()方法*/
        baoFengObject.close();
        xunLeiObject.close();
    }
}

更多内容请见原文,原文转载自:https://blog.csdn.net/qq_44639795/article/details/103129580

java中“类”和“对象”到底有什么联系的更多相关文章

  1. Java中的命名规范到底是怎样的

    内容摘要:命名规范二,java中的方法名,对象名和字段名的第一个单词的首写字母应该小写,而后面的每个单词的首字母都应该小写 要想将java基础学的十分的牢固就必须将java中的命名规范掌握好了.俗话说 ...

  2. Java中的函数对象

    初次听说java中的函数对象可能,比较的陌生.可以类比着来理解一下,人们常说java中没有了指针,殊不知,java中的对象引用就是指针,有时候我们说一个对象往往指的就是这个对象的引用,也就是说基本上把 ...

  3. 第31节:Java基础-类与对象

    前言 Java基础-类与对象,方法的重载,构造方法的重载,static关键字,main()方法,this关键字,包,访问权限,类的继承,继承性,方法的重写,super变量. 方法的重载:成员方法的重载 ...

  4. Java中创建实例化对象的几种方式

    Java中创建实例化对象有哪些方式? ①最常见的创建对象方法,使用new语句创建一个对象.②通过工厂方法返回对象,例:String s =String.valueOf().(工厂方法涉及到框架)③动用 ...

  5. Java面向对象-类与对象

    Java面向对象-类与对象 类与对象的关系 我们通俗的举个例子,比如人类是一种类,张三这个人就是人类的具体的一个个体,也就是java中的对象:这就是一个类与对象的关系: 类的定义 下面看实例 类的创建 ...

  6. java中的string对象深入了解

    这里来对Java中的String对象做一个稍微深入的了解. Java对象实现的演进 String对象是Java中使用最频繁的对象之一,所以Java开发者们也在不断地对String对象的实现进行优化,以 ...

  7. 关于Java构造类与对象的思考

    简单记录一下Java构造类与对象时的流程以及this和super对于特殊例子的分析. 首先,接着昨天的问题,我做出了几个变形: Pic1.原版: Pic2.去掉了T.foo方法中的this关键字: P ...

  8. java中对集合对象list的几种循环访问

    java中对集合对象list的几种循环访问的总结如下 1 经典的for循环 public static void main(String[] args) { List<String> li ...

  9. (转)java中对集合对象list的几种循环访问总结

    Java集合的Stack.Queue.Map的遍历   在集合操作中,常常离不开对集合的遍历,对集合遍历一般来说一个foreach就搞定了,但是,对于Stack.Queue.Map类型的遍历,还是有一 ...

随机推荐

  1. 『现学现忘』Docker相关概念 — 8、虚拟化技术和容器技术的关系

    目录 1.云计算中虚拟化技术和容器技术到的关系 2.虚拟机和容器对比 3.虚拟化技术和容器技术区别 1.云计算中虚拟化技术和容器技术到的关系 通过一个关于房间和住人的小问题,我们来初步的理解一下虚拟化 ...

  2. 如何使用 VS Code 远程连接矩池云主机

    Visual Studio Code(以下简称 VS Code)是一个由微软开发的代码编辑器.VS Code 支持代码补全.代码片段.代码重构.Git 版本控制等功能. VS Code 现已支持连接远 ...

  3. java 注释与标识符

    JAVA基础 注释与标识符 注释 书写注释是一个非常好的习惯 三种注释: 单行,多行,文档 .单行 ://注释 .多行:/* 注释 / .文档** 注释 */ 标识符 1. 关键字 2.标识符注意点 ...

  4. ElasticSearch 文档(document)内部机制详解

    1.数据路由 1.1 文档存储怎么路由到相应分片? 一个文档,最终会落在主分片的一个分片上,到底应该在哪一个分片?这就是数据路由. 1.2 路由算法 shard = hash(routing) % n ...

  5. ArcMap操作随记(7)

    1.栅格分辨率调整 [重采样] 2.点集数据对插值模型精度检验 test数据→[子集要素](地统计分析)→train→[插值]→[多值提取至点]→[字段计算器](Abs([value]-[spline ...

  6. CentOS7.5环境下Docker基本操作

     1. 查找Docker中Centos镜像文件 docker search centos 2. 下载Docker中Centos镜像文件(默认下载最新版本) docker pull centos 3. ...

  7. Mybatis的ResultMap对column和property

    首先,先看看这张图,看能不能一下看明白:   select元素有很多属性(这里说用的比较多的): id:命名空间唯一标识,可以被用来引用这条语句 parameterType:将会传入这条语句的参数类的 ...

  8. 分布式搜索引擎Elasticsearch的架构分析

    一.写在前面 ES(Elasticsearch下文统一称为ES)越来越多的企业在业务场景是使用ES存储自己的非结构化数据,例如电商业务实现商品站内搜索,数据指标分析,日志分析等,ES作为传统关系型数据 ...

  9. hutool包里的ObjectUtil.isNull和ObjectUtil.isEmpty的区别

    大家都用过hutool包把,包路径为:cn.hutool.core.util,最近再使用的过程中一直没高明白ObjectUtil.isEmpty和ObjectUtil.isNull两者到底有那些区别, ...

  10. R数据分析:纵向分类结局的分析-马尔可夫多态模型的理解与实操

    今天要给大家分享的统计方法是马尔可夫多态模型,思路来源是下面这篇文章: Ward DD, Wallace LMK, Rockwood K Cumulative health deficits, APO ...