精华内容
下载资源
问答
  • 比如说,我在A中创建了一个对象数组。想在B中去使用这个A中的数组。那么有两种方式 1 继承 直接让B去继承这个A,那么在B中就可以对这个数组进行操作 如下图 这是Child,有个数组childs。长度是40; ...

    比如说,我在A类中创建了一个对象数组。想在B类中去使用这个A类中的数组。那么有两种方式
    以下创建的数组都是类类型的数组
    我觉得类类型数组的好处可以给数组中的每一个元素创建多个标签。并且可以对多个标签进行不同的操作
    1 继承
    直接让B类去继承这个A类,那么在B类中就可以对这个数组进行操作
    如下图
    这是Child类,有个数组childs。长度是40;
    在这里插入图片描述
    下面这个是Damo1类,直接继承上面这个Child类,那么久可以直接对这个数组进行操作,这个操作时合并数组。在Damo1中创建一个数组。将Child中的数组合并进去。
    在这里插入图片描述
    上面是继承方式,还有一种方式

    如下图所示
    我在Td中创建一个数组。是类类型的数组,叫tt
    在这里插入图片描述
    下面这个是在Damo1类中,先创建一个Td类中的对象JJTd,然后也创建一个Td类型的数组,叫ggDamo1s。让这个ggDamo1s
    等于Td中的数组、所以就可以在Damo1中对tt数组进行操作

    在这里插入图片描述

    当然,也有其他的解法。

    展开全文
  • C++在一个类中引用另一个类对象

    万次阅读 2019-03-05 20:29:21
    #include<iostream>... int getx()//如何引用私有的成员 { return x; } void setx(int xx) { x = xx; } int gety()//如何引用私有的成员 { ...
    #include<iostream>
    using namespace std;
    class point
    {
    private:
    	int x;
    	int y;
    public:
    	int getx()//如何引用私有类的成员
    	{
    		return x;
    	}
    	void setx(int xx)
    	{
    		 x = xx;
    	}
    	int gety()//如何引用私有类的成员
    	{
    		return y;
    	}
    	void sety(int yy)
    	{
    		y = yy;
    	}
    	void input()
    	{
    		cin >> x >> y;
    	}
    	void output()
    	{
    		cout << "(" << x << "," << y << ")" << endl;
    	}
    };
    class line
    {
    private:
    	point p1, p2;
    public:
    	void input()
    	{
    		p1.input();
    		p2.input();
    	}
    	void output()
    	{
    		p1.output();
    		p2.output();
    	}
    };
    int main()
    {
       line a;
    	a.input();
    	a.output();
    	system("pause");
    	return 0;
    }
    
    展开全文
  • 1、instanceof:用来测试左边对象是否是一个类: int a = 1; boolean flag= a instanceof Object; 返回结果为true,代表a是一个类,否则不是。 2、getclass(): 比如:if(a.getClass()==String.getClass())...
    1、instanceof:用来测试左边对象是否是一个类:

      int a = 1;
      boolean flag= a instanceof Object;

            返回结果为true,代表a是一个类,否则不是类。


    2、getclass():
    比如:if(a.getClass()==String.getClass())
    展开全文
  • Java对象 详解(

    万次阅读 多人点赞 2016-10-06 20:48:02
    、面向对象简述面向对象种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk语言之中进行了应用,后来根据面向对象的设计...

    一、面向对象简述

    面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk语言之中进行了应用,后来根据面向对象的设计思路,才形成C++,而由C++产生了Java这门面向对象的编程语言。

    但是在面向对象设计之前,广泛采用的是面向过程,面向过程只是针对于自己来解决问题。面向过程的操作是以程序的基本功能实现为主,实现之后就完成了,也不考虑修改的可能性,面向对象,更多的是要进行子模块化的设计,每一个模块都需要单独存在,并且可以被重复利用,所以,面向对象的开发更像是一个具备标准的开发模式。

    在面向对象定义之中,也规定了一些基本的特征:
    (1)封装:保护内部的操作不被破坏;
    (2)继承:在原本的基础之上继续进行扩充;
    (3)多态:在一个指定的范围之内进行概念的转换。

    对于面向对象的开发来讲也分为三个过程:OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)。

    二、类与对象的基本概念

    类与对象时整个面向对象中最基础的组成单元。

    :是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);
    对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。

    可以一句话来总结出类和对象的区别:类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。

    三、类与对象的定义和使用

    在Java中定义类,使用关键字class完成。语法如下:

    class 类名称 {
             属性 (变量) ;
             行为 (方法) ;
    }

    范例:定义一个Person类

    class Person {     // 类名称首字母大写
        String name ;
        int age ;
        public void tell() {        // 没有static
              System.out.println("姓名:" + name + ",年龄:" + age) ;
             }
    }

    类定义完成之后,肯定无法直接使用。如果要使用,必须依靠对象,那么由于类属于引用数据类型,所以对象的产生格式(两种格式)如下:

    (1)格式一:声明并实例化对象

    类名称 对象名称 = new 类名称 () ;

    (2)格式二:先声明对象,然后实例化对象:

    类名称 对象名称 = null ;
    对象名称 = new 类名称 () ;

    引用数据类型与基本数据类型最大的不同在于:引用数据类型需要内存的分配和使用。所以,关键字new的主要功能就是分配内存空间,也就是说,只要使用引用数据类型,就要使用关键字new来分配内存空间。

    当一个实例化对象产生之后,可以按照如下的方式进行类的操作:
    对象.属性:表示调用类之中的属性;
    对象.方法():表示调用类之中的方法。

    范例:使用对象操作类

    package com.wz.classandobj;
    
    class Person { 
        String name ;
        int age ;
        public void get() {
            System.out.println("姓名:" + name + ",年龄:" + age);
        }
    }
    
    public class TestDemo {
            public static void main(String args[]) {
                Person per = new Person() ;// 声明并实例化对象
                per.name = "张三" ;//操作属性内容
                per.age = 30 ;//操作属性内容
                per.get() ;//调用类中的get()方法
            }
    }

    运行结果:

    姓名:张三,年龄:30

    以上完成了一个类和对象的操作关系,下面换另外一个操作来观察一下:

    package com.wz.classandobj;
    
    class Person { 
        String name ;
        int age ;
        public void get() {
            System.out.println("姓名:" + name + ",年龄:" + age);
        }
    }
    
    public class TestDemo {
            public static void main(String args[]) {
                Person per = null;//声明对象
                per = new Person() ;//实例化对象
                per.name = "张三" ;//操作属性内容
                per.age = 30 ;//操作属性内容
                per.get() ;//调用类中的get()方法
            }
    }

    运行结果:

    姓名:张三,年龄:30

    那么,问题来了,以上两种不同的实例化方式有什么区别呢?
    我们从内存的角度分析。首先,给出两种内存空间的概念:
    (1)堆内存:保存对象的属性内容。堆内存需要用new关键字来分配空间;
    (2)栈内存:保存的是堆内存的地址(在这里为了分析方便,可以简单理解为栈内存保存的是对象的名字)。

    1

    任何情况下,只要看见关键字new,都表示要分配新的堆内存空间,一旦堆内存空间分配了,里面就会有类中定义的属性,并且属性内容都是其对应数据类型的默认值。

    于是,上面两种对象实例化对象方式内存表示如下:
    这里写图片描述

    两种方式的区别在于①②,第一种声明并实例化的方式实际就是①②组合在一起,而第二种先声明然后实例化是把①和②分步骤来。

    另外,如果使用了没有实例化的对象,结果如何?
    如下:

    package com.wz.classandobj;
    
    class Person { 
        String name ;
        int age ;
        public void get() {
            System.out.println("姓名:" + name + ",年龄:" + age);
        }
    }
    
    public class TestDemo {
            public static void main(String args[]) {
                Person per = null;//声明对象
                //per = new Person() ;//实例化对象
                per.name = "张三" ;//操作属性内容
                per.age = 30 ;//操作属性内容
                per.get() ;//调用类中的get()方法
            }
    }

    运行结果:

    Exception in thread "main" java.lang.NullPointerException
        at com.wz.classandobj.TestDemo.main(TestDemo.java:15)

    此时,程序只声明了Person对象,但并没有实例化Person对象(只有了栈内存,并没有对应的堆内存空间),则程序在编译的时候不会出现任何的错误,但是在执行的时候出现了上面的错误信息。这个错误信息表示的是“NullPointerException(空指向异常)”,这种异常只要是应用数据类型都有可能出现。

    四、对象引用传递初步分析

    引用传递的精髓:同一块堆内存空间,可以同时被多个栈内存所指向,不同的栈可以修改同一块堆内存的内容。

    下面通过若干个程序,以及程序的内存分配图,来进行代码的讲解。

    我们来看一个范例:

    class Person {     
             String name ;
             int age ;
             public void tell() {        
                       System.out.println("姓名:" + name + ",年龄:" + age) ;
             }
    }
    public class TestDemo {
             public static void main(String args[]) {
                       Person per1 = new Person() ;         // 声明并实例化对象
                       per1.name = "张三" ;
                       per1.age = 20 ;
                       Person per2 = per1 ;  // 引用传递
                       per2.name = "李四" ;
                       per1.tell() ;
             }
    }

    对应的内存分配图如下:

    11

    再来看另外一个:

    class Person {
             String name ;
             int age ;
             public void tell() {
                       System.out.println("姓名:" + name + ",年龄:" + age) ;
             }
    }
    public class TestDemo {
             public static void main(String args[]) {
                       Person per1 = new Person() ;         // 声明并实例化对象
                       Person per2 = new Person() ;
                       per1.name = "张三" ;
                       per1.age = 20 ;
                       per2.name = "李四" ;
                       per2.age = 30 ;
                       per2 = per1 ;// 引用传递
                       per2.name = "王五" ;
                       per1.tell() ;
             }
    }

    对应的内存分配图如下:
    12

    垃圾:指的是在程序开发之中没有任何对象所指向的一块堆内存空间,这块空间就成为垃圾,所有的垃圾将等待GC(垃圾收集器)不定期的进行回收与空间的释放。

    未完待续。。。

    展开全文
  • 1、在c++中,当把一个类对象作为另...2、如果一个类A的对象作为另一个类B的数据成员,则在B的对象创建过程中,调用其构造函数的过程中,数据成员(A的对象)会自动调用A的构造函数。     但是应注...
  • 分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net - 方法1:类型.class,例如:String.class - 方法2:对象.getClass(),例如:"...
  • 怎么用一个对象调用另一个类对象的方法 比如一个类A ,一个类B,B里面有个方法show(),在main中A a=new A();B b=new B();在A中没有调用B方法的情况下,我想通过a调用B中的show()方法,该怎么实现。初学者,求大神给...
  • 第二课 如何去创建一个类对象

    千次阅读 2014-11-10 20:46:12
    第二课 如何去创建一个类对象 如何去创建一个类对象
  • 一个类对象作为另一个类的成员

    万次阅读 2011-12-07 20:06:49
    一个类对象可以作为另一个类的数据成员,简称为对象作为成员,有时也称之间的“复合”。要访问内部,必须穿过外部对象,方法有两种:1是在外部中顶一个一些公有函数,主要用于访问内部对象。2.通过 外部对象...
  • c++在一个类中嵌套另一个类对象

    万次阅读 2018-07-09 22:30:42
    class My2 { public: My2(); ~My2(); }; class My1 { public: My1(); ~My1();...从这里可以看出在一个类中嵌套另一个类对象的时候,先执行被嵌套的类的构造函数,在执行嵌套函数的构造函数。
  • 新手小白学JAVA 面向对象 对象 封装

    万次阅读 多人点赞 2021-05-06 15:58:57
    面向对象其实是种编程思想,通过它可以把生活中复杂的事情变得简单化,从原来的执行者变成了指挥者。 面向对象是基于面向过程而言的。 面向过程强调的是过程,比如: 打开冰箱门 2. 把大象放进去 3. 关上冰箱门 ...
  • 我需要用a2自定义的中的数据与a1中的数据进行比较.(也就是要把两个对象的值能合并到一个对象中进行比较.请问在初始化时该怎么写?) 如果a1=a2,则a1中的数据被a2中的数据库覆盖,为null, 如果a2=a1,则a2中的数据被a1...
  • 一个类对象作为另一个类的数据成员。    一个类中的数据成员除了可以是int, char, float等这些基本的数据类型外,还可以是某一个类一个对象。用子对象创建新。    在C++中,当把一个类对象作为新...
  • 每个对象都可以调用类对象,如果它们是一个类出来的,它们的类对象也是一样的,所以判断对象是否属于同一个类,就判断它们的类对象是否相同。
  • 1.在一个类中定义另一个类对象,则程序运行时该对象自动调用其构造函数初始化,然后其主类才调用构造函数初始化2.在一个类中定义另一个类的指针,需要在主类里面初始化指针,如 A* p=new A(),之后该指针可以...
  • C++编程语言中类对象的赋值与复制介绍(

    万次阅读 多人点赞 2018-08-20 17:17:07
    如同基本类型的赋值语句一样,同一个类的各个对象之间也是可以进行赋值操作的,即将一个对象的值赋给另一个对象。 需要说明的是,在类对象的赋值过程中,只会对类中的数据成员进行赋值,而不对成员函数赋值。 例如...
  • 作为C语言的超集,面向对象成为Objective-C与C语言的最大区别,因此,对象是Objective-C中最重要的部分之。...谁都知道,所有的对象都是由其对应的实例化而来,殊不知本身也是对象,先不要对这句话感到惊
  • java判断对象是否是一个类的实例

    千次阅读 2019-07-05 14:34:01
    Java:如何判断一个对象是否是特定的实例 一、InstanceOf运算符 InstanceOf运算符是用来在运行时指出对象是否是特定一个实例。InstanceOf通过返回一个布尔值来指出,这个对象是否是这个特定或者是它的子类的...
  • 对象)——&对象概念及定义

    万次阅读 多人点赞 2018-05-22 00:09:19
    c是面向过程的语言、面向对象概念:面向对象程序设计(OOP)是种程序设计的泛型,同时也是种程序开发的方法,它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性二、和...
  • #include using namespace std; class Date { public: void printDate() { cout } void Getyear() { cout } void Getmonth() { cout } void Getday() ...void setDate(int y,int m,int d
  • 类对象与类指针

    万次阅读 多人点赞 2018-12-06 21:04:02
    ... 类对象:Student s1 类指针:Student *s2 (1)定义对象实例时,分配了内存,指针变量...(2)类的指针:他是一个内存地址值,他指向内存中存放的类对象(包括一些成员变量所赋的值).   对象:他是利用类的构造...
  • 有两种方法可以判断 1. object instanceof class object对象 class  返回值类型是boolean 2.
  • Python 对象

    万次阅读 多人点赞 2019-04-10 16:49:40
    - : 一个模板, (人类)---是一个抽象的, 没有实体的 - 对象: (eg: 张三, 李四) - 属性: (表示这东西的特征, 眼睛, 嘴巴, 鼻子) - 方法: (表示这物体可以做的事情, eg: 吃饭, 睡觉,学习) 1). 定义...
  • C++面向对象程序设计中如何判断一个对象类型  在C++面向对象程序设计中,有时候需要判断某个对象类型,那么可以有下列两种方法:  方法1: 采用 typeid()函数进行判断:(缺点:当存在继承,并且子类...
  • js 判断一个对象是否属于某一

    万次阅读 2017-11-01 20:53:44
    typeof:typeof是一个一元运算符,返回结果是一个说明运算数类型的字符串。如:"number","string","boolean","object","function","undefined"(可用于判断变量是否存在)。 但 typeof 的能力有限,其对于...
  • 1、在中设置一个static的int变量,每次创建一个对象时,count加1。 staic int count=0; Person(){++count;} 2、 同时要让对象的id递增,只需把count加1的结果赋给id即可。 id=++count; 3、 为了让count...
  • 类对象和实例对象 简短理论: 类对象是将具有相似属性和方法的对象总结抽象为类对象,可以定义相似的一些属性和方法,不同的实例对象去引用类对象的属性和方法,能减少代码的重复率。 实例对象又称实例化对象,...
  • 从什么是类开始说起… 我们都知道类也是由成员变量`构造器和方法等构成的 所以其本质也是一个一个的对象 需要通过对象来描述和创建 ...Class类对象无法直接创建 因为它的构造方法是私有的 是由JVM随...
  • Java:如何判断一个对象是否是特定的实例 一、InstanceOf运算符      InstanceOf运算符是用来在运行时指出对象是否是特定一个实例。InstanceOf通过返回一个布尔值来指出,这个对象...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,184,980
精华内容 2,073,992
关键字:

一个类的对象