精华内容
下载资源
问答
  • Java中类对象为空是什么意思

    千次阅读 2020-02-23 19:53:37
    一个类对象是否为空和它的属性没有关系。 类对象为空,要么该对象赋值为空,要么该对象定义了但没有实例化。只要对象定义了且实例化了,不论属性如何,该对象都不为空。 演示代码: package niuke; class Person { ...

    Java中类对象为空是什么意思?

    类对象为空并不等于该对象某一属性或多个属性为空,哪怕该对象所有属性为空也不能说明该对象就为空。一个类对象是否为空和它的属性没有关系。

    类对象为空,要么该对象赋值为空,要么该对象定义了但没有实例化。只要对象定义了且实例化了,不论属性如何,该对象都不为空。

    演示代码:

    package niuke;
    class Person {
    	int age;//默认为0
    	String name;//默认为null
    	Person(){
    		
    	}
    }
    class Course{
    	String coursename;//默认为null
    	Course(){
    		
    	}
    }
    public class Solution {
    	public static void main(String[] args) {
          //Person p;只定义不实例化Eclipse会报错,如果不报错的话,这个p只定义不实例化就为空,但在Eclipse中不存在这种情况,因为编译器会报错
    		Person p=null;//所以在Eclipse下,一个类对象为空仅当它本身被定义为空
    		Person person=new Person();//定义了Person类对象person且实例化,只要类对象用new实例化那么它就不为空
    		System.out.println(person.age);
    		System.out.println(person.name);
    		if(person==null)
    			System.out.println("wei kong.");//Dead code  因为person定义了且实例化,就不为空,哪怕它的一个或多个属性为空。
    		else
    			System.out.println("bu wei kong.");
    		
    		Course course=new Course();
    		System.out.println(course.coursename);
    		if(course==null)
    			System.out.println("wei kong.");//Dead code  因为person定义了且实例化,就不为空,哪怕它所有属性都为空。
    		else 
    			System.out.println("bu wei kong.");
    	}
    }
    
    	
    

    运行结果:
    在这里插入图片描述
    永远相信美好🎈

    码字不易,如果对你有帮助,记得点赞哦🎈

    展开全文
  • 模拟英雄联盟写一个游戏人物的 要求: 1.创建一个Game_role的 2.构造方法中给对象封装name,ad(攻击力),hp(血量),三个属性 3.创建一个attack方法,此方法是实例化两个对象,互相攻击的功能: 例: 实例化-一个对象...

    模拟英雄联盟写一个游戏人物的类
    要求:
    1.创建一个Game_role的类
    2.构造方法中给对象封装name,ad(攻击力),hp(血量),三个属性
    3.创建一个attack方法,此方法是实例化两个对象,互相攻击的功能:
    例:
    实例化-一个对象盖伦, ad为10, hp为 100
    实例化另个一个对象剑豪ad为20, hp为80
    盖伦通过attack方法攻击剑豪,此方法要完成’ 谁攻击谁,谁掉了多少血,还剩多 少血’的提示功能.

    class GameRole:
        def __init__(self, name, ad, hp):
    
            # 给对象封装3个属性
            # :param name:
            # :param ad:
            # :param hp:
    
            self.name = name
            self.ad = ad
            self.hp = hp
    
        def attack(self, p):
            p.hp = p.hp - self.ad  # 被打一下,自己的血就会被减少
            print("%s 攻击 %s,%s 掉了%s血,还剩%s血" % (self.name, p.name, p.name, self.ad, p.hp))
    
    
    p1 = GameRole("盖伦", 20, 500)
    p2 = GameRole("亚索", 50, 200)
    
    # 此时的self是盖伦的,但是要用到p2,需要把p2的对象空间传进去,参数p得到的就是p2的对象空间,这个对象空间,通过万能的点,什么都能获取到
    p1.attack(p2)
    print(p2.hp)
    # 结果:
    # 盖伦 攻击 亚索,
    展开全文
  • new一个类对象和使用类名创建一个对象什么区别? 用new来给一个类对象分配空间,和使用名称来定义一个类对象,有什么区别?难道区别只是new的返回值是个指针,而对象定义得到的是变量名么?或者是在存储...

    new一个类对象和使用类名创建一个对象有什么区别?
    用new来给一个类的对象分配空间,和使用类名称来定义一个类的对象,有什么区别?难道区别只是new的返回值是个指针,而对象定义得到的是变量名么?或者是在存储空间上不同?有什么不同呢?具体什么时候使用哪个方法呢?

    ——解决方案——————–

    对,存储空间上不同。
    new出来的在堆上
    直接定义的在栈上

    ——解决方案——————–

    用法似乎高手都喜欢用new,因为堆的内存大嘛,我喜欢用栈,方便点,不用指来指去,还要回收内存.栈在递归可能会遇到溢出,因为内存有限制.而且new出来的可以用很多动态重载的特性.

    ——解决方案——————–

    栈上分配的在函数结束后会自己释放,堆上的要自己手工释放。

    ——解决方案——————–

    举个例子:
    如果你有一个对话框类CMyDlg;
    你这样用:CMyDlg dlg;
    dlg.Create();
    建一非模式对话框,函数一结束,dlg被收回了,这个对话框一闪而过。
    这样用: CMyDlg *dlg=new CMyDlg;
    dlg-> Create();
    函数结束了,dlg还在。这个非模式对话框还在。

    ——解决方案——————–

    一个在堆,一个在栈
    栈就是CXXX XX这种的,是在程序运行前就分配好的,不需自已释放
    而堆,是运行时分配的,得自已释放
    还有就是对话框它们效果明显,一个无模式,一个有模式,做个例子就很清楚了!

    ——解决方案——————–

    要考虑实际情况

    如果对象本身很小,或者没有特殊的必要,还是要放在栈上,这样有2个好处:

    1 效率高

    2 在堆上创建对象容易引起内存碎片

    ——解决方案——————–

    使用new在堆上分配,给程序员留下了很大的自由度,这可能是高手的代码中使用new比较多的原因

    使用new需要更多的控制管理,由此带来了程序的高效和运行的更加健壮
    c语言的精华就是指针运算管理,使用new是产生一个自由使用的指针对象的好办法
    使用new的其它好处:
    1、需要的时候才new(在复杂权限和业务逻辑系统中很重要)
    2、对象可靠性检查(没有栈空间的限制问题)
    3、对象的适度留用控制

    个人认为,如果可以不使用new,还是不要搞得貌似高手好:)

    ——解决方案——————–

    象CMyDlg dlg;这样的对象,
    使用new 的必要性可能较小,其生成周期通常不超过父窗口,如果需要长的生成周期,可以使用类成员变量

    当然如果CMyDlg 含有很多的数据及时初始化例程,使用new应该更好,这样你就应该进行必要的检测,象如上的代码不是很好,因为你必须在函数体内delete dlg,否则会发生内存泄露,所有new的对象如果不delete,只有在宿主程序退出,才会由系统释放

    一个指针类成员的流程大概为:

    在.h中
    class CMyDlg;
    或者包含头文件:#include “MyDlg.h ”
    头文件中声明类成员变量:
    CMyDlg *m_pdlg;

    在.cpp中

    构造函数中初始化:m_pdlg = NULL;
    使用:
    if(m_pdlg == NULL)
    {
    //创建对象…
    m_pdlg = new CMyDlg;

    m_pdlg-> Create();

    }

    在析构函数中
    if(m_pdlg != NULL) delete m_pdlg;

    转自http://blog.chinaunix.net/uid-20693455-id-4380230.html

    展开全文
  • 对于面向对象的语言来说,一个类中能够使用的数据类型包括任何在本语言中合法的类型一个对象它属于引用类型数据实例,当然就可以出现在一个类中作为这个的成员使用了,可能这个对象不是这个的特有 特征,...

    对于面向对象的语言来说,一个类中能够使用的数据类型包括任何在本语言中合法的类型。

    一个对象它属于引用类型数据实例,当然就可以出现在一个类中作为这个类的成员使用了,可能这个对象不是这个类的特有

    特征,但是它们存在一些必然或者实际行为动作中产生的间接联系,一个对象成为一个类的成员也就顺理成章,这样符合实际生活

    中的诸多现象。

    如 打印工作人员要打印文件,他一定就要使用打印机,打印机虽然不是打印工作人的本身特性,但是行为中要和其

    他对象进行交互,所以在程序设计中我们定义的打印工作人类就会包括一个打印机类型的属性了。

                                                                                                                                                                             ------来自百度知道

     

    如果在主类中声明了一个其他类的对象。

    那么主类实例化的时候,也同时实例化了那个其他类的对象。

    如果这个其他类对象有自己的特殊的构造函数,你主类构造时如果没有实现那个构造函数。

    那么这个其他类的对象因为缺少构造函数的调用是无法实例化的。

     

     

    展开全文
  • java中什么是类什么是对象

    万次阅读 多人点赞 2016-09-12 11:31:44
    下面以java语言为例解释下什么是类什么是对象就是具备某些共同特征的实体的集合,它是种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,是对一类“事物”的属性与
  • java中什么是类什么是对象

    万次阅读 多人点赞 2018-06-03 19:29:55
    可谓是万物皆对象对象是客观存在的事物,可以说任何客观存在的都是可以成为对象,一台电脑,一直钢笔,一个人,一辆轿车等等,都是可以成为对象。那么什么是类呢?对象的模子,具有相同属性和方法的一组对象的...
  • 一个视频教程:一个指示灯,值为1时是绿色,为0时为红色。用SolidBrush实例化对象selectedcolor时,括号里打个?号,我是第一头见。如下面的代码,或者图片中黄色箭号所指。视频教程里没有详解这个功能。有大侠...
  • 对象(什么是类什么是对象) 以通俗易懂、说人话的方式理解对象以及如何创建对象(实例化) 在以下中,标红的字体就是,标蓝的字体就是对象! 我问大家几问题: 1.你最喜欢的娱乐明星是哪些? 我最...
  • Python 中什么是一等对象 first-class object(第一类对象)? 文章目录Python 中什么是一等对象 first-class object(第一类对象)?0. 参考资料1. 定义 0. 参考资料 1. 定义 闲话:很多资料把 first-...
  • 什么是类什么是对象对象有什么关系?

    万次阅读 多人点赞 2016-05-13 15:26:11
    面向对象(Object Oriented,OO)。 起初,“面向对象”是指在程序设计中采用封装、继承、多态等设计方法。现在,面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,ObjectOriented Analysis),...
  • 对象

    千次阅读 多人点赞 2019-05-15 21:49:28
    :是抽象概念,表示的是一个共性的产物,之中定义的是属性和行为(方法),是创建对象的模板; 什么是对象? 万物皆对象对象是客观存在的事物,可以说任何客观存在的都是可以成为对象,表示一个独立的个体,每...
  • 这个img_enc则是model对象__init()__创建时产生的一个类定义在model外面的另一个类的实现 ``` 这种用法我是见所未见,不知道是什么神仙用法;为此,我特意用python3模拟了一下,结果直接报错,意思类似“img_enc...
  • 参考:... 举简单的例子: class Domo { private: int x; int y; public: void Set(int a,int b):x(a),y(b){} void Print() { cout<<"("<<x<...
  • 上面Car 是我们自己定义的一个类 mycar则先可看作是变量名。 其实也就叫做对象,在C#入门经典一书里称它为命名实例。 书中说对象的实例的含义相同。 那么怎么完成实例化呢。我们创建一个对象需要对它初始化...
  • 什么是对象什么是类什么是面向对象的编程语言,什么是面向面向对象的编程思想?...看一个编程语言是不是面向对象的,就看他的数据类型里,有没有一种类型,是拥有属性值得,即有没有的概念,由此来看Java是有
  • 什么是类 对象 实例

    千次阅读 2014-11-11 15:51:10
    (Class)实际上是对...对象(object)是一件事、一个实体、一个名词,可以获得的东西,可以想象有自己的标识的任何东西。一些对象是活的,一些对象不是。现实世界中的例子有汽车、人、房子、桌子、植物、支票、雨衣。
  • 面向对象编程是什么意思

    千次阅读 2017-03-20 16:33:50
    它是一种编程风格, ...这个一个抽象就是一个对象,比如人这个包含一些属性,比如年龄,名字,住址等, 他还有一些对别人告诉这些属性的功能,比如:说,看,走等!! 这就是的面向对象的特点!!!...
  • Java中实例化对象什么意思

    千次阅读 2021-02-22 20:45:53
    Java中什么是实例化 在Java语言中使用new关键字创建/构造对象的过程叫做的实例化,该过程的本质,会在内存空间的堆区申请一块存储区域... 是 声明一个Person类型对象,在堆区区域。 new Person(); ()是指创建Person
  • 补充:new 一个对象是实例吗? 能举个小例子吗? new 一个对象是实例吗?对,是实例,你说的没错。可以把这个new出来的对象叫做实例,说白了就是这个new出来的“东西”,叫它对象也可以,叫它实例也可以,对象和...
  • 新手小白学JAVA 面向对象 对象 封装

    万次阅读 多人点赞 2021-05-06 15:58:57
    面向对象其实是种编程思想,通过它可以把生活中复杂的事情变得简单化,从原来的执行者变成了指挥者。 面向对象是基于面向过程而言的。 面向过程强调的是过程,比如: 打开冰箱门 2. 把大象放进去 3. 关上冰箱门 ...
  • POJO对象和Java类对象的区别和联系是什么 POJO对象和Java类对象的区别和联系是什么
  • 是抽象的,对象是具体的的,它是一个实例,对象继承的方法和属性,举个例子:人是一个类,它是抽象,那什么是对象呢?那就是具体指的哪个人,比如小红、小明,这就是对象,人有特征和行为,比如鼻子、耳朵、...
  • 单例设计模式的定义:单例设计模式是一种软件设计模式,在它的核心包含一个称为单例的核心。核心便是希望一个类只有一个对象
  • 1、在中设置一个static的int变量,每次创建一个对象时,count加1。 staic int count=0; Person(){++count;} 2、 同时要让对象的id递增,只需把count加1的结果赋给id即可。 id=++count; 3、 为了让count...
  • 在面向对象程序设计中,“”在实例化之后叫做一个“实例”。 “”是静态的,不占进程内存,而“实例”拥有动态内存。 在数据库中,代表一些程序的集合。如Oracle中,实例就是一些能支撑数据库运行的数据库程序。...
  • import numpy as np from sklearn.preprocessing import StandardScaler data = np.random.randint(2,...ss = StandardScaler() #被实例化为对象 std_data = ss.fit_transform(data) origin_data = ss.inverse_tra...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 544,722
精华内容 217,888
关键字:

一个类的类对象是什么意思