精华内容
下载资源
问答
  • java对象的内存布局:对象头:包含...还必须包括数据的长度信息实例数据:接下来就是对象的成员变量的内容,包括了从父类继承下来的内容对齐补白:jvm要求java对象的起始地址必须是8的倍数,所以这部分内容用来对齐...

    本文旨在说明java对象的内存布局,然后基于此说明如何计算一个对象占用的字节数

    java对象的内存布局分为三部分,对象头、实例数据、对齐补白

    对象头:

          1.mark word,包含了对象的hash值,GC分代年龄,锁状态,线程持有的锁,偏向锁等信息

          2.指向当前对象所属类的Class对象指针,通过它可以获取class信息,这个指针是反射的基础

          3.如果是数组,还必须包括数据的长度信息

    对象头的长度:这里只说64位操作系统

    开启了UseCompressedOops指针压缩的(默认开启):

          普通对象头:12byte

          数组对象头:16byte

    关闭了UseCompressedOops的:

          普通对象头:16byte

          数组对象头:24byte

    实例数据:

          接下来就是实例数据,也就是对象成员变量的内容,包括了从父类继承下来的内容

     

    对齐补白:

          jvm要求java对象的起始地址必须是8的倍数,如果对象头+实例长度不足8的倍数,就需要补齐

     

    指针的长度:

          32位操作系统和64位操作系统的一个主要区别是内存地址空间范围不一样,最大值分别为2的32次方、2的64次方,相应的,如果想表示内存地址,分别需要32位和64位,在开发语言中,一个引用其实就是一个地址,在java中,我们通过对象引用来访问对象,对象引用就是一个地址;比如:Object obj=new Object(); 这里obj就是一个地址,在32位操作系统中,obj这个引用占32位,也就是4byte,64位操作系统中是8byte,不过64位操作系统下的jvm会默认开启指针压缩功能,将8byte压缩为4byte

     

    基本类型的长度:

    boolean 1byte;  byte 1byte;

    short 2byte;  char 2byte;

    int 4byte;  float 4byte;

    double 8byte;  long 8byte;

     

    好了,有了上面的铺垫,我们就可以进行一些简单对象大小的计算了(64位操作系统,开启了UseCompressedOops指针压缩):

    class A{

    }

    new A();占用多少字节?12(对象头)+4(不足8的倍数,补齐)=16byte;

     

    class B{

          private int i;

          public B(int i){this.i=i;}

    }

    new B(1);占用多少字节?12(对象头)+4(int型成员变量)=16byte;

     

    class C{

          private int i;

          private B b;

          public C(int i,B b){

                  this.i=i;

                  this.b=b;

          }

    }

    new C(1,new B());占用多少字节?12(对象头)+4(成员变量i)+4(成员变量b引用)+4(不足8的倍数,补齐)=24byte;

    通过这种方式,只要不是过于复杂的对象,我们都可以大致推算出它所占的内存了,不过对于复杂的对象,就没那么好算了,我们当然希望有更好的方法了.....

    java.lang.instrument.Instrumentation提供了getObjectSize()方法,可以计算任何一个运行时对象的大小,由于这个类的实现类InstrumentationImpl的构造方法是私有的,所以我们创建不了其实例,不过jvm可以替我们创建,需要依赖于javaagent代理机制,使用javaagent,我们要先构造一个java类,在其中实现static void premain(String args, Instrumentation inst)方法,jvm会在启动时调用这个premain方法,并传入一个Instrumentation实例

    代理类:

    public class SizeCalcuater {
        private static Instrumentation instrumentation;

        public static void premain(String args, Instrumentation inst) {
            instrumentation = inst;
        }

        public static long getObjectSize(Object o) {
            return instrumentation.getObjectSize(o);
        }
    }

    然后是测试类:

    public class Tester {

        public static void main(String[] args) {
            System.out.println("new A()大小:" + SizeCalcuater.getObjectSize(new A()));
            System.out.println("new B(1)大小:" + SizeCalcuater.getObjectSize(new B(1)));
            System.out.println("new C(1, new B(1))大小:" + SizeCalcuater.getObjectSize(new C(1, new B(1))));
        }

        static class A {
        }

        static class B {
            private final int i;

            public B(int i) {
                this.i = i;
            }
        }

        static class C {
            private final int i;
            private final B b;

            public C(int i, B b) {

                this.i = i;

                this.b = b;
            }
        }
    }

    然后,要指定MANIFEST.MF文件用于打包:

    在src目录下新建META-INF目录,在META-INF目录下建两个MANIFEST.MF文件(注意,:后空一格,最后必须有个空行)

    MANIFEST1.MF(注意,:后空一格,最后必须有个空行)

    Manifest-Version: 1.0
    Premain-Class: com.bobo.size.SizeCalcuater
     

    MANIFEST2.MF(注意,:后空一格,最后必须有个空行)

    Manifest-Version: 1.0
    Main-Class: com.bobo.size.Tester
     

    然后分别用这两个MANIFEST.MF文件打jar包,我这里两个jar包分别叫size.jar、test.jar

    运行test.jar,并指定javaagent代理包:

    java -javaagent:size.jar -jar test.jar

    输出如下结果:符合我们上面的推论..

     

    另外,我们还可以使用图形化工具查看堆dump文件来确定对象大小,VisualVM和MAT都可以,这里就不再展示了

    展开全文
  • 等保2.0定级对象有哪些

    万次阅读 2019-08-27 17:31:10
    导读:等保2.0定级对象,不再局限于信息系统,针对当下网络信息技术的应用环境和场所,等级对象进行了拓展。尤其是把一些新技术纳入了测评范围,如最近很热的云计算平台、大数据等。 等级保护定级指南2.0标准(GB/...

    导读:等保2.0定级对象,不再局限于信息系统,针对当下网络信息技术的应用环境和场所,对等级对象进行了拓展。尤其是把一些新技术纳入了测评范围,如最近很热的云计算平台、大数据等。

    等级保护定级指南2.0标准(GB/T22240)细化了网络安全等级保护制度定级对象的具体范围,主要包括基础信息网络、工业控制系统、云计算平台、物联网、使用移动互联技术的网络、其他网络以及大数据等多个系统平台。

    等保2.0中修改定级对象三大基本特征为:a)具有确定的主要安全责任主体;b)承载相对独立的业务应用;c)包含相互关联的多个资源。基础信息网络、工业控制系统、云计算平台、物联网、采用移动互联技术的网络和大数据在满足以上三个基本特征的基础上,还遵循如下要求:

    基础信息网络:对于电信网、广播电视传输网、互联网等基础信息网络,应分别依据服务类型、服务地域和安全责任主体等因素将其划分为不同的定级对象,而跨省业务专网既可以作为一个整体定级,也可根据区域划分为若干对象定级。

    物联网:虽然包括感知、网络传输和处理应用等多种特征因素,但仍应将以上要素作为一个整体的定级对象,各要素并不单独定级。

    工业控制系统:应将现场采集/执行、现场控制和过程控制等要素应作为一个整体对象定级,而生产管理要素可以单独定级;对于大型工业控制系统,可以根据系统功能、责任主体、控制对象和生产厂商等因素划分为多个定级对象。

    云计算平台:应区分为服务提供方与租户方,各自分别作为定级对象;对于大型云计算平台,应将云计算基础设施和有关辅助服务系统划分为不同的定级对象。

    采用移动互联技术的网络:应将移动终端、移动应用、无线网络等要素与相关有线网络业务系统作为整体对象定级。

    大数据:除安全责任主体相同的平台和应用可以整体定级外,应单独定级。

    在定级原则上,《等保条例》放弃了《管理办法》中的“自主定级、自主保护”原则,采取了以国家行政机关持续监督的“明确等级、增强保护、常态监督”方式。更重要是,除上述系统,还做了对关键信息基础设施,定级原则上不低于三级的规定。

    定级对象需要在哪里进行定级呢?
    等保2.0标准不再自主定级,而是通过“确定定级对象——>初步确定等级——>专家评审——>主管部门审核——>公安机关备案审查——>最终确定等级”这种线性的定级流程,系统定级必须经过专家评审和主管部门审核,才能到公安机关备案,整体定级更加严格。
    
    定级流程看起来很简单,但是在定级期间需要填写定级备案表,以及编写定级报告,还需要组织专家评审,这些事情,如果没有做过,实际做起来也是挺让人头疼的。如果您不知道怎么开展等保定级工作,可以到第三方等级保护服务机构或者具备等级测评服务资格的服务公司,进行相关咨询。让专业人办专业的事情,能够节省宝贵的时间,可以少走弯路,有时候也是开支的节省。
    
    展开全文
  • 谈谈我面向对象以及类与对象的理解

    千次阅读 多人点赞 2018-02-26 22:43:12
    面向对象首先,一言不和先百度,得到如下定义:一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象,现实世界中的关系抽象成类、继承,帮助人们实现现实世界的抽象与数字建模。我们知道,编写程序的...

    对于刚接触JAVA或者其他面向对象编程语言的朋友们来说,可能一开始都很难理解面向对象的概念以及对象的关系。

    面向对象

    首先,一言不和先百度,得到如下定义:

    一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象,现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。

    我们知道,编写程序的目的是为了解决现实生活中的问题,编程的思维方式也应该贴近现实生活的思维方式。面向对象的编程方式就是为了实现上述目的二出现的。它使得编程工作更直观,更易理解。需要注意的是这里说的编程不光是coding还包括了设计的过程也是面向对象的

    为什么说面向对象更贴近实际生活

    想象一下,当我们向别人描述一样事物时,我们都是怎么说的?”它有像鸭子一样的嘴巴”,”它有4条退”,”爪子里还有蹼”,”它是哺乳动物但却是卵生”。

    这种HAS A 和 IS A的表达方式往往可以简单而高效的描述一样事物。HAS A描述事物的属性或行为,IS A 则说明了事物的类属。

    当我们把这一系列的属性组合起来便得到的鸭嘴兽这一,同时哺乳动物一词简单精炼的表面了所有哺乳动物的特性而不用一一列出,这是继承特性的体现,同时卵生又是多态的体现。

    这就是面向对象的思维特点,抽取(抽象)有用的属性和行为(抛弃哪些无需关系的)组织(封装)成一个类。这个过程中你也许会发现很多属性或方法是和另一个类相同的,那么你就可以采用继承的方式避免重复(当然这个过程也有可能是,当你设计完一个个类后,才发现他们有共同点,然后再抽取出基类)。更重要的是,继承是可以不原样照搬的,我们可以通过重载实现相同行为或属性的特有实现方式,这种特点称之为多态,例如同样的生产行为,实现方式由胎生变为卵生。请大声念出,并牢牢记住面向对象的四个特征:

    • 抽象

    • 封装

    • 继承

    • 多态

    与早期结构化编程相比

    早期结构化编程是面向过程的(功能),换句话说程序是由功能的集合组成,而调用者是作为功能的参数传入的。而在面向对象的程序中,对象是主体,程序是由对象的集合组成。一个对象中包含一系列符合设计的功能供其他对象调用。这么说可能还是比较抽象,
    ,例如当我们设计一个五子棋游戏时,
    面向过程的设计思路就是首先分析问题的步骤:
    1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。
    把上面每个步骤用分别的函数来实现,问题就解决了。


    而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为:
    1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。


    第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。


    随便写点代码,大家看看就好,不要太认真….

    /**
    玩家类
    **/

    public class Player {
       String name;       //棋手名称
       boolean isFirst;  //是否先手
       int color_flag;  //代表颜色  0-白 1-黑
       Table table;//棋盘对象
       
     public Player(String name,boolean isFirst;int color_flag){
              this.name=name;
              this.isFirst=isFirst;
              this.color_flag=color_flag;
       }
      
     /**
     下棋,x,y为落子坐标
     **/

     public void play(int x,int y) throws Exception{
         if(this.table==null){
            throw new IllegalArgumentException("玩家还未注册到棋盘!");
         }
       table.setNewPieces(x,y);
     }
       
       public void setTable(Table table){
          this.table=table;
       } 
    }
    /**
    棋盘类
    **/

    public class Table{
     List<Player> playerList=new ArrayList<Player>();
     Referee referee ;
     public Table(){
      referee =new Referee(this);
     }
     /**
       注册玩家
     **/

     public void registPlayer(Player player) throws Exception {
         //检测棋盘中的玩家是否已满,先手玩家和玩家选色是否冲突。
         .......
        playerList.add(player);
        player.setTable(this);
     }

      /**
       落子
      **/


      public void setNewPieces(int x , int y){
             //重新绘制棋盘
             ......
            //调用裁判对象,判断结果
         if(referee.isEnd){
             End();
           }
      }

      public void End(){
         .......
     }
    }
    /**
    裁判类
    **/

    public class Referee(){
     Table table;
     public Referee(Table table){
       this.table=table;
    }

      public boolen isEnd(){
         //判断输赢
         ....
       return false
      }
    }


    然而事实上,通过上述示例代码,我们不难发现,即使我们使用面向对象的方式,上面例子里面向过程中提到的几个下棋过程我们还是都实现了的,只不过程被封装到了类的方法中。所以说其实面向对象和面向过程并不是编程的区别(需要实现的业务逻辑的量不会产生变化),而是设计的区别

    类与对象

    类是抽象的,而对象是具体的

    如何理解上面的话呢? 例如鸭嘴兽是类型,具体的鸭嘴兽A、鸭嘴兽B就是对象了。在JAVA中对象是通过new关键字声明的。 再例如,《红色警戒》中美国大兵是一兵种,点击制造后从兵营里出来的那个会开枪的家伙就是对象了:


    的定义就是一个模板,它描述的一类对象的属性与行为。类往往是抽象的、没有实体的。哺乳动物是的概念,是抽象的,现实中没有哺乳动物这一实体,只有具体的如老虎,狮子等。编程工作中套用这一思维模式,我们将程序中的实例抽象为类,例如一个系统中的用户有张三、李四我们会把他们抽象为Person类,或者称之为一个名为Person的数据类型。


    对象则是根据所属模板创造出来的实实在在的事物。在程序中我将这个实实在在的事物称之为实例,我们为它的属性赋上特定的值,让它成为张三或者李四。在内存里来说,对象是表示的就是具体数据。


    前面说的都是概念性的东西,下面我们说说实际的运用过程中的理解。

    从数据类型来说

    以java为例,数据类型分为基本数据类型引用数据类型

    基本数据类型就是byte,short,int,long,double,char,boolean;其它的,需要用到new关键字来赋值的都是引用数据类型。 类与对象指的便是引用数据的类型与其值(这里指的类不光是class,还包括接口、数组、枚举、注解)。 而引用指的是内存地址的引用,关于这点在后面说的内存时会细说。
    看下面的代码:

    int a =1
    Person b=new Person();


    a 和 b 都是本身无意义的变量名。需要关注的是:a的类型是基本数据类型int值为1,而b的类型是Person属于引用类型,其引用的是new Person()这个对象。我们往往会说对象xx,比如这里的对象b。但实际上b只是对象的引用,真正的对象是后面的new Person()

    需要注意的是String也是引用数据类型,只不过因为使用率非常高,所以对于String,jvm支持其可 以像基本数据类型一样使用:String a = “abc”; 同等于 String a = new String(“abc”);

    总之呢,简单来说指的的引用数据的类型,对象是具体赋的值。为了更深入理解,我们下面需要解释下这个引用是如何体现的。

    什么是引用(从内存来说)

    要深入理解什么是类,什么是对象,什么又是引用,就离不开说说java的内存使用方式。


    在java中内存被大致划分为栈(stack)堆(heap) (之所以是大致,是因为还包括其它几部分就不在这细说)。堆栈的介绍可以参考这里


    在这里我们只说一点:java中,基本数据类型以及对象的引用都保存在栈(stack),而对象则保存在堆(heap)中,例如当如下代码:

    int a=1;
    Person p;


    内存中的状态大致如下:

    int a = 1 是直接在栈中开辟空间,而对于未进行实例化的Person p因为没有有效的内存地址引用它的值是null。而当代码进行如下修改时:

    int a =1 ;
    Person p = new Person();


    内存中的状态大致如下:

    Person p=new Person();使得p的值=0x8da23也就是对象new Person();中的地址。所以,到这里后就不难理解之前说的对象的引用了,所谓引用其实就是堆内存地址的引用。

    展开全文
  • JavaScript对象的键值

    万次阅读 2016-05-28 10:30:07
    JavaScript 的对象是一种无序的集合数据类型,是由键值组成的,与python字典一定相似性。不过javascript的键要求必须是字符串,而值可以是其他类型,甚至键必须是唯一的,因为当键不唯一时,后面的键会覆盖前面...

    JavaScript 的对象是一种无序的集合数据类型,是由键值对组成的,与python字典有一定相似性。不过javascript的键要求必须是字符串,而值可以是其他类型,甚至键必须是唯一的,因为当键不唯一时,后面的键会覆盖前面的键。

    var max = {
               'birth-month':'January',
               'birth-month':1}
    alert(max['birth-month']);
    弹出的对话框显示1,而不是January.

    既然键是字符串,我们可以用加引号来声明键,如'name',而官方也给出了我们不加引号也声明的例子,如age,这两种声明有什么不同呢?

    var max = {'name':'marxwolf',
                age:18,
               'birth-month':'January',
               'birth-month':18}
    alert(max.name);
    alert(max['name']);
    alert(max.age);
    alert(max['age']);
    //alert(max.birth-month);
    alert(max['birth-month']);
    如果键的声明是一个有效的变量名,我们可以加引号,也可以不加引号,也就是说这两种情况是等价的,我们可以用max.name索引,也可以用max['name']索引,这两种情况完全是等价的。

    但是如果键的声明不是一个有效的变量名,比如说birth-month,加入了中划线,就必须加引号,不然会产生语法错误,而这种情况下的调用,也必须是max['birth-month']这种方式。
    但是,我又发现当在循环中调用的时候,好像只能用max[key]这种形式,而max.key这种形式会报错,我也不清楚为什么,等我搞明白了再来更新。

    展开全文
  • 非共享成员的引用要求对象引用”

    千次阅读 热门讨论 2016-03-03 16:44:26
    在机房重构的过程中遇到了个问题就是“非共享成员的引用要求对象引用”。在D层注册的代码中是引用sqlHelper的ExecAddDelUpdate,但是在编写的代码的时候出现此类错误,也就是共享成员没有添加引用。
  • 我们现在一组“学生”对象,包含“名字,年龄,分数”等属性,现在要求一个算法,把这些对象放在一个数组里,可以实现按照年龄或者分数这些对象进行排序。 var sdts = [ {name:"小明",age:12,score:100}, {...
  • 什么是面向对象

    万次阅读 多人点赞 2019-09-09 16:54:50
    从我们开始接触Java这门语言后,就人告诉我们这是一门面向对象的语言。说的最多的是new个对象,其实并不知道什么是对象。以为对象就是一个class(类),并不觉得什么特殊。直到很久之后,面试官问到什么是OOP,...
  • JS的对象与内置对象详细介绍

    万次阅读 多人点赞 2019-07-06 23:53:50
    JS里一句话叫万物皆对象(除了基本数据类型)。但是new String(’’)或者new Number()这种不属于基本数据类型,属于引用类型。 对象就是属性的无序集合。数组是有序集合。 创建对象的方法: 直...
  • java对象数组 创建对象数组,初始化对象数组

    万次阅读 多人点赞 2019-07-30 16:34:15
    对象数组的概念: 如果一个数组中的元素是对象类型,则称该数组为对象数组。 当需要一个类的多个对象时,应该用该类的对象数组来表示,通过改变下标值就可以访问到不同的对象。...//注意 :此处不是构...
  • 面向对象的语言主要有哪些

    万次阅读 2019-01-07 11:07:52
    面向对象程序设计(Object Oriented Programming,OOP)的实质是选用一种面向对象程序设计语言(OOPL),采用对象、类及其相关概念所进行的程序设计。主要Smalltalk、Eiffel、C++、Java、PHP等。 1、Smalltalk 一种...
  • 面向对象基本概念

    万次阅读 多人点赞 2019-02-06 21:56:15
    面向对象就是:把数据及数据的操作方法放在一起,作为一个相互依存的整体...对象即为人各种具体物体抽象后的一个概念,人们每天都接触各种各样的对象,如手机就是一个对象。 面向对象编程(OOP:object-orie...
  • 在Java中一句比较流行的话,叫做“万物皆对象”,这是Java语言设计之初的理念之一。理解什么是对象,需要跟类一起结合起来理解。下面这段话引自《Java编程思想》中的一段原话: “按照通俗的说法,每个对象都是...
  • java面向对象的特征有哪些方面

    千次阅读 2018-06-24 10:52:39
    封装、抽象、继承、多态 面向对象的封装性:即将对象封装成 一个高度自治和相对封闭的个体,对象状态(属性)由这个对象自己的行为(方法)来读取和改变 举例:张三这个人,他的姓名等属性,要有自己提供的获取或...
  • 谈谈我php中面向对象的理解

    千次阅读 2017-08-17 12:43:19
    今天来和大家介绍一下PHP的面向对象。说到面向对象,我不得不提一下面向...面向对象编程(OOP)是我们编程的一项基本技能,PHP5OOP提供了良好的支持。如何使用OOP的思想来进行PHP的高级编程,对于提高PHP编程能力和
  • java面向对象

    万次阅读 多人点赞 2018-08-21 16:51:59
    包括面向对象概念、类与对象的关系、封装、构造函数、this关键字、static关键字、单例设计模式、继承、多态、内部类、异常、包等java基础知识。 1、面向对象 面向对象是相对面向过程而言 面向对象和面向过程都是...
  • Java的对象头和对象组成详解

    万次阅读 多人点赞 2018-07-20 10:46:47
    目录 一,对象头 1,Mark Word 2,指向类的指针 3,数组长度 二,实例数据 ...Java对象保存在内存中时,由以下三部分组成: ...1,对象头 ...3,数组长度(只有数组对象)   1,Mark Word Mar...
  • 对象是人们进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有属性和行为,在程序设计中对象实现了数据和操作的结合,使数据和...
  • Pythonlist对象进行排序总结

    千次阅读 2018-08-10 20:57:39
    Pythonlist对象进行排序总结 1.sort() list类型一个自带的排序函数sort() list.sort(cmp=None, key=None, reverse=False) 参数说明: (1) cmp参数 cmp接受一个函数,来确定比较方式,默认的是: def f(a...
  • 面向对象

    万次阅读 多人点赞 2018-05-19 16:59:57
    Java语言的面向对象技术包括了面向对象和面向过程的基本概念,面向对象的特征,Java语言的类,对象,修饰符,抽象类等一系列的知识点首先让我们来了解一下什么是对象? 没错!面向对象我们肯定需要先知道对象到底是...
  • 抽象、封装、继承、多态 1.抽象 抽象是人们认识事物的常用方法,比如地图的绘制。抽象的过程就是如何简化、...数据抽象以数据为中心,把数据类型和施加在该类型对象上的操作作为一个整体(对象)来
  • 使用Arrays.sort()对对象数组进行排序

    千次阅读 2018-11-19 14:13:20
    使用java.util.Arrays中的sort()方法,对对象数组进行排序,按照属性。 代码 package com.demo; import java.util.Arrays; import java.util.Comparator; import java.util.ArrayList; class Student{ ...
  • JS获取对象键值中key值的方法

    千次阅读 2020-08-14 16:48:17
    Object.keys()方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用for...in循环遍历该对象时返回的顺序一致 (两者的主要区别是 一个 for-in 循环还会枚举其原型链上的属性) ...
  • jQuery对象与dom对象相互转换

    千次阅读 2015-07-28 11:40:24
    刚开始学习jQuery,可能一时会分不清楚哪些是jQuery对象哪些是DOM对象。至于DOM对象不多解释,我们接触的太多了,下面重点介绍一下jQuery,以及两者相互间的转换。 什么是jQuery对象? ---就是通过jQuery...
  • Java 面向对象的特征有哪些方面

    千次阅读 2010-10-01 23:10:00
    抽象:抽象——就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。(就是把现实世界中的某一类东西,提取出来,用程序代码表示,抽象出来一般叫做类或者接口。)抽象并不打算了解...
  • JS除了内置对象之外,还允许我们程序自己定义属于我们自己的对象,在JS中自定义对象的方式2种:通过构造器创建对象,通过JSON创建对象。 4.7.1 构造器创建对象(原生JS对象) 构造器,就是一个普通的函数,...
  • Android中Intent传递类对象提供了两种...要求被传递的对象必须实现上述2种接口中的一种才能通过Intent直接传递。 Intent中传递这2种对象的方法: Bundle.putSerializable(Key,Object); //实现Serializable接口的对象
  • C++对象对象数组的排序

    千次阅读 多人点赞 2015-06-24 12:20:35
    C++对象对象数组的排序
  • Kubernetes对象模型

    万次阅读 2018-10-13 20:44:20
    Kubernetes对象 在之前的文章已经讲到了很多Kubernets对象,包括pod,service,deployment等等。Kubernets对象是一种持久化,表示集群状态的实体。它是一种声明式的意图的记录,一般使用yaml文件描述对象,它使用...
  • 访问对象中的成员可以3种方法:①通过对象名和对象成员引用运算符(.)访问对象中的成员; 访问对象中数据成员的一般形式为: 对象名.成员名class Data { public : int data; void fun(int a,int b,int d);/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,144,641
精华内容 1,257,856
关键字:

对对象的要求有哪些