`
panshaobinSB
  • 浏览: 198617 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java类中拥有自身对象

    博客分类:
  • java
阅读更多

java中经常可以看到拥有自身对象的属性,如下面所示:

 

public class TestSelfObject { 
     private String b ="Hello"; 
     private TestSelfObject a;          //= new A(); 这里千万不能初始化
     public void method(){
           //在某条件满足时
           a=new TestSelfObject();
     }
     
     public static void main(String[] args) {
    	 TestSelfObject b = new TestSelfObject();
    }
}

 

 上面的程序跑起来很正常,只是声明了自身对象作为自身属性,即 ”private TestSelfObject a;“ 这一句,但是没有初始化,因为不能在新建对象的时候初始化,不然就会产生死循环,这里用递归的说法更合理,就是每一个TestSelfObject都会想要在初始化的时候帮自己的属性分配内存,直至内存耗尽。

 

还有一种方式是可行的,就是静态变量,因为是在类初始化的时候只加载一次,所以也就不会有这个问题了,如下所示:

 

public class TestSelfObject {
        private String b ="Hello"; 
        private static TestSelfObject a = new TestSelfObject(); 
        public static void main(String[] args) {
        	TestSelfObject b = new TestSelfObject();
	}
}

  

 

分享到:
评论

相关推荐

    Java开发技术大全(500个源代码).

    showInstVar.java 演示不同的对象拥有不同的成员变量 showMain.java 演示main方法访问本类成员 showMethod.java 演示如何定义一个方法体 showReturn_1.java return语句示例1 showReturn_2.java return语句示例2...

    java实现迷宫重庆理工大学 19级面向对象程序设计 java 课程设计 课程实践 源码+报告+任务书 原创

    用java面向对象程序设计语言,设计和实现一电脑鼠走迷宫的软件程序,即一个假想的小车能在图示的迷宫中根据设定的起始点和终点自主寻找路径。本综合实践分成两部分:第一部分为算法设计和实现部分,第二部分为界面...

    很棒的java类与对象的电子书

    他们的作者拥有让人敬仰的称谓,如某某教授,某某专家;他们写的书大都是大部头,动辄上千上万;他们文风严谨,遣词专业;他们案例深奥,让人深思。总之,我很敬仰他们,因为我当初也是读着这样的书学java的。但现在...

    Java中使用JCOM操作Office对象

    使用JCom的时候,你可以在Java中控制几乎所有的COM对象,而且它还带有一些用于Excel的强大的辅助类。  在你每次编写用HTML表格样式或Java表格对象显示数据的应用程序的时候,通常都需要带有"导出到Excel"功能。...

    java常用工具类的使用

    该类的大部分构造器和方法都已经过时,但是该类使用非常方便,因此目前使用还很普遍,该类的另一个主要功能是,在数据库操作中,它允许将毫秒值表示为SQL DATE值,是数据库操作中java.sql.Date的父类。关于数据库...

    【Java】面向对象的课程设计——学生管理系统(增、删、查、找)

    内容概要:Java——实现学生管理...③在阅读的过程中,希望可以与自己的所学知识相结合,进行思考 ④代码编写实现也更注重内容上的需求分析和方案设计,所以在学习的过程要结合这些内容一起来实践,并调试对应的代码。

    java面向对象程序设计实验报告.doc

    说明了一个类的所有对象共享同一个类成员变量, 两个对象都有自己的num值说明了一个类的多个对象拥有各自的实例成员变量。 类图: 程序代码: //package number; public class Number { public static void main...

    [java]读书笔记整理:一切都是对象

    用堆进行存储分配比用堆栈进行存储分配需要更多的时间(如果确实可以在java中向在C++中一样在栈中创建对象)。 4) 静态存储 这里的“静态”是指“在固定的位置”(尽管也在RAM里)。静态存储里存放程序运行时一直...

    Java面向对象继承.pdf

    在 Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类。 implements关键字 使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,...

    java 面试题 总结

    对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以...

    JAVA上百实例源码以及开源项目

    通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从...

    JAVA上百实例源码以及开源项目源代码

    通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从...

    将excel实体表格生成为JavaBean对象

    此时,如果拥有一个自己的小工具,绝对事半功倍,也希望大家在日常工作中,对这样的工作能多做积累。 模板解析,也可以替换成从word,或者数据库中读取解析。 这两种定义来源本代码中没有,需要下载后自行扩展。 ...

    上海四年JAVA工程师王文峰生涯人物访谈报告适合具备Java开发基础知识和相关经验的软件工程师,特别是对Java开发有浓厚兴趣的

    作为上海的Java工程师,可以参与到各类创新项目和团队中,拓展自己的职业发展空间。 随着Java技术的不断发展,Java工程师需要不断学习和跟进最新的技术趋势和框架,提升自己的技术能力,保持竞争力。 上海作为一个...

    java程序设计阅读程序写结果题22道

    ①它可以利用已有的类来创建自己的类,只需要指出自己的类和已有的其他类有什么不同即可,而且还可以动态访问其他有 关类中的信息。 ②通过继承,可以利用Java类库所提供的丰富而有用的类,这些类都已经被很好地实现...

    java高级编程,java面向对象,java基础.rar

    假设你是一个富豪,拥有一座占地3000亩地的庄园,不再是只关注吃饭问题,还有花草树木修剪,泳池维护清洗,卫生打扫,洗衣做饭等。 面向过程:全都自己完成。 面向对象:招聘一个管家,然后让管家招聘园丁、泳池维护...

    java开源包11

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

    java开源包6

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

    java开源包9

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

    java开源包101

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

Global site tag (gtag.js) - Google Analytics