java类的问题-问点java的基础常识,两个类定义的时候将对方作为自己的成员变量的好处在哪?

问题描述

问点java的基础常识,两个类定义的时候将对方作为自己的成员变量的好处在哪?

没学过java,但是又急着看一份java源码,碰到了一个我没办法理解的问题,就是在java定义了两个类,定义的时候两个个类将对方作为自己的成员变量,同时类可以引用对方的成员变量。这样做是很正常的吗?好处在哪里?
示例如下;
class a
{
b XX;
}

class b
{
a XX;
}

解决方案

这样做很正常。有时候需要将获得的一些属性封装到另一个类中,或者是需要用到另一个类的方法或者是属性。封装性,

解决方案二:

引用和封装,因为有些功能模块需要多个类实现,类与类之间有关系,不可能只有自己的属性,所以也有对其他类的引用或者对象,以便于更好的开发。

时间: 2024-10-25 21:40:46

java类的问题-问点java的基础常识,两个类定义的时候将对方作为自己的成员变量的好处在哪?的相关文章

问一个Java泛型与类继承的问题

问题描述 问一个Java泛型与类继承的问题 直接上代码了 //DeviceRepository类 public abstract class DeviceRepository<T extends Device> extends DomainRepository<T> //DeviceEventHandler类第一种写法 public abstract class DeviceEventHandler<M extends Device,R extends DeviceRepos

java小白又来问问题啦。关于方法调用

问题描述 java小白又来问问题啦.关于方法调用 直接上代码啦:问题也在代码的解释里啦:麻烦各位大神啊 public class Method{ public static void main(String[]args){//main方法可以调用main方法所在的类中的定义的其他方法,也可以调用别的类中的方法.(书上这么写的) System.out.print("The grade is:"); printGrade(78.5);//调用方法时要注意参数的传递,在 这里78.5就是实参

java基础-求问关于java中异常处理的问题。。

问题描述 求问关于java中异常处理的问题.. 不是很理解java异常处理中的try catch语句块,比如说我的catch语句块中是一个System.out.println("caught IOEexception":e.getMessage()),那么这个catch语句起到的作用就是提示我一下哪个地方有异常吗?然后我再去它提示我发生异常的地方去修改我的程序? 那么如果我的catch语句里面什么都没写,只是一个catch{}:由于写了try catch语句块编译一定会通过,那岂不是说

代码-问一个JAVA的基础问题,希望大神们帮忙解惑。

问题描述 问一个JAVA的基础问题,希望大神们帮忙解惑. 有一段如下的代码,有几个疑惑: 1.定义了一个final的test1和一个static里面的test1,为什么定义2个test1不会有问题? 2.为什么在一个类中直接写static{ },这个是什么原理? 3.还有什么类似static{ }这样的写法?是什么原理? public class MyOwenTest{ public static final String test1 = "a"; static{ String tes

想问一下Java中常用的配置文件保存格式。例如:我的程序中可以添加很多FTP的信息,我想问一下这些FTP信息最常用什么格式保存成文件?

问题描述 想问一下Java中常用的配置文件保存格式.例如:我的程序中可以添加很多FTP的信息,我想问一下这些FTP信息最常用什么格式保存成文件? 解决方案 解决方案二:我一般用xml文件来保存,用Properties这个类来读取解决方案三:一般用XML文件吧.我用XML保存,用DOM4J来读写

方法-求问:java里面static修饰符作用

问题描述 求问:java里面static修饰符作用 static作用具体是什么,非static作用又是什么,static修饰方法和属性分别是什么效果,具体点谢谢 解决方案 static 是全局变量, 如 static int c=0; c=c+1; 那么这变量,就是一个全局变量, 每一次改变它都会执行,但是再给它赋值 就会报错 再这样写 c=5; 系统就会报错. 解决方案二: static修饰的成员变量或者成员函数,是直接通过类名来访问的,不需要实例化的. 而非静态的成员方法的访问需要通过实例化

JAVA面试题100问第一部分

以下是面试时常问到的JAVA面试题,能让你对JAVA面试有基本的了解.根据我个人的经验,一个好的面试官在面试的时候是不会事先准备一列问题清单,一般来说都从关于JAVA最基本的概念开始,然后再根据你的回答继续深入讨论. 问题:关于JAVA 你知道什么? 回答:JAVA是一种高级程序设计语言,由詹姆斯·高斯林发明并于1995年发布.JAVA可以在多种平台上运行,如Windows.Mac OS.各种版本的UNIX.   问题:JAVA编程语言支持什么平台? 回答:JAVA可以在多种平台上运行,如Win

java中父类与子类, 不同的两个类中的因为构造函数由于递归调用导致栈溢出问题

/* 对于类中对成员变量的初始化和代码块中的代码全部都挪到了构造函数中, 并且是按照java源文件的初始化顺序依次对成员变量进行初始化的,而原构造函数中的代码则移到了构造函数的最后执行 */ import static java.lang.System.out; public class PersonDemo { public static void main(String[] args) { //*********测试父类与子类之间的循环调用的问题 out.println("main1&quo

JAVA基础培训(3),认识类的访问权限描述符

我们熟悉一下类的访问权限描述符,public和默认不写的情况. 类没有private类型 . 我们先注意一下目录结构,我们建了一个otherpackage子目录,用来存放非同一目录 的类 先看我们的主文件 lession3/Lession3.java package lession3; // 注意,我们使用了其它package的类,所以需要import进来 // 注意:路径必须为完整的路径 import lession3.otherpackage.PublicClassOtherPackage;