`
panshaobinSB
  • 浏览: 202847 次
  • 性别: 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实例化一个抽象类对象的方法教程

    由于抽象类自身不能被实例化,这意味着你不能使用`new`关键字直接创建一个抽象类的对象。然而,尽管不能直接实例化,抽象类在特定情况下依然可以间接地创建对象。以下将详细介绍如何在Java中处理抽象类实例化的问题...

    java面向对象、类与对象的定义笔记

    1. 封装(Encapsulation):封装是将数据(或状态)和行为(或功能)捆绑到单个对象中,并对外隐藏对象的内部实现细节。封装的目的是保护对象内的数据不被外界直接访问,只能通过定义好的方法来访问,这样做可以提高...

    Java基础实例:关于对象和类的源代码.rar

    在Java编程语言中,对象和类是核心概念,它们构成了面向对象编程的基础。在这个Java基础实例中,我们可以通过一系列简单的代码示例来深入理解这两个概念。 首先,让我们谈谈"类"。在Java中,类是一种蓝图,定义了...

    java中类和对象

    在Java中,类可以看作是创建对象的蓝图或者模板。它定义了对象的状态(即数据成员,也称为属性或字段)和行为(即方法)。类是一种抽象的概念,它描述了一组具有相同特征和行为的事物。例如,如果我们有一个名为...

    JAVA中的面向对象与内存解析

    在Java编程语言中,面向对象(Object-Oriented Programming,OOP)是核心特性之一,它使得代码结构清晰,易于维护。面向对象编程基于三个主要概念:封装、继承和多态。下面我们将深入探讨这些概念及其在Java中的实现...

    \\java类、抽象类、接口、继承和对象解析 .doc

    在 Java 中,类是用来封装数据和行为的结构,而对象则是类的实例,具有具体的属性和行为。 1. **类与对象的区别** 类是模板或者蓝图,它定义了一组特性和行为,这些特性通过成员变量(属性)表示,行为通过方法...

    java类和对象实验.pdf

    类定义了对象的属性和行为,而对象是类的实例,拥有自己的状态和行为。 1. 类的定义 在 Java 中,类的定义使用 `class` 关键字,例如: ```java public class Reference { public static void main(String[] ...

    关于java中的类

    在Java中,类是对象的模板或蓝图,它定义了一组相似的对象所共有的属性(变量)和行为(方法)。在本示例中,“Person”类被定义为所有人的通用模板,它包含了一些基本的属性如姓名(`name`)、性别(`sex`)和年龄...

    java面对对象课件

    - **对象**:对象是类的具体实例,每个对象都拥有自己的状态和行为。 - **定义类的基本语法**: ```java class 类名 { // 成员变量 数据类型 变量名; // 构造函数 public 类名(参数列表) { // 初始化逻辑 ...

    java内存对象分配过程研究

    在Java中,对象的创建主要包括定义对象变量和构造对象两个步骤,而构造对象的过程又分为为对象分配内存和初始化对象两个阶段。 ##### 3.1 定义对象变量 定义对象变量实际上就是定义一个指向对象的引用,例如: ```...

    第六章 JAVA语言中的面向对象特性.rar_java 面向对象

    上例中,`Student`类的对象表示具体的某个学生,拥有自己的姓名和年龄。 面向对象的特性主要包括封装、继承和多态。 **封装**是将数据和操作数据的方法绑定在一起,对外提供一个公共接口,隐藏内部实现细节。在...

    java面向对象游戏

    在Java中,对象是类的实例,类定义了对象的属性(数据成员)和行为(方法)。在这个猜拳游戏中,我们可以期待看到以下几个关键的面向对象设计元素: 1. 类的定义:首先,游戏可能包含几个类,如`Player`、`Game`和`...

    JAVA面向对象基础

    在面向对象编程中,**类**和**对象**是最基本的概念之一,它们构成了OOP的基石。 1. **类的概念**:类可以被视为对象的蓝图或模板,定义了对象的属性(状态)和方法(行为)。一个类描述了一组具有相似特性和行为的...

    JAVA学生类Student

    在Java中,类是具有相同属性和行为的对象的集合。类是一种抽象的概念,而对象则是类的具体实例。本例中的`Student`类就是一个典型的例子。 ### 2. 类的定义 #### 代码示例: ```java public class Student { // ....

    Java面向对象流程图

    Java面向对象是编程领域中的一个核心概念,它是一种编程范式,强调数据和操作数据的方法组织在一起,模拟现实世界中的对象。在这个主题中,我们将深入探讨面向对象编程(OOP)的基本概念,包括类、对象、封装、继承...

    java面向对象应用程序开发

    Java面向对象应用程序开发是软件开发领域中的核心概念,尤其在企业级应用中广泛采用。它基于面向对象编程(Object-Oriented Programming, OOP)原则,通过模拟现实世界中的对象来构建复杂的软件系统。Java语言作为...

Global site tag (gtag.js) - Google Analytics