大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
步骤:
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了振安免费建站欢迎大家使用!
1、在存放使用资源的res文件夹下的layout文件夹内新建一个XML布局文件,如命名为:page1.xml。
2、在存放资、代码的文件夹下下找到MainActivity.java,双击打开,在onCreate的方法内添加关联代码。
函数调用可以理解为:
你想去买一样东西,这时,可能会叫你的秘书去帮你买它。
您的秘书可能不熟悉市场,这时她委任采购部门去帮她购买你需要的东西。
不好意思,昨天有事匆忙留下一段,还有一段没有完成。。。
在JAVA中怎么使用 什么时候能用到?
我就大致的回答一下吧。如果不合心意,还请谅解!
OOP强调低耦合,高内聚。单一职责原则。还有许多模式以及原则,使你的系统富有弹性,易于扩展,修改,维护。
内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。
所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
耦合:一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。) 对于低耦合,粗浅的理解是:
一个完整的系统,模块与模块之间,尽可能的使其独立存在。
也就是说,让每个模块,尽可能的独立完成某个特定的子功能。
模块与模块之间的接口,尽量的少而简单。
如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。
这样有利于修改和组合。[1]
引用:
代码的话,我就不多说了。自己估量估量,就知道是怎么回事了。
可以参考以下的代码,在被调用的函数中增加一个记录调用的方法,记录调用方的信息
public void testMethod(){
Test1 t1 = new Test1();
t1.my();
}
public static void main(String[] args) {
Test t = new Test();
t.testMethod();
}
class Test1{ public void my(){
String tag = this.getMyGrandpaStackTrace();
System.err.println(String.format("调用我的人是:%s", tag));
}
public String getMyGrandpaStackTrace(){
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
StackTraceElement father = stackTrace[1];
StackTraceElement log = stackTrace[2];
String tag = null; for (int i = 1; i stackTrace.length; i++) {
StackTraceElement e = stackTrace[i]; if (!e.getClassName().equals(log.getClassName())) {
tag = e.getClassName() + "." + e.getMethodName(); break;
}
} if (tag == null) {
tag = log.getClassName() + "." + log.getMethodName();
}
System.err.println(String.format("My father is %s.%s", father.getClassName() ,father.getMethodName()));
System.err.println(String.format("My grandpa is %s",tag)); return tag;
}
}
需要开发环境的支持,你安装一个eclipse, 然后选中方法名,点右键,选“open call hierarchy”,
或者按快捷键“Ctrl+Alt+H”,Eclipse就会显示出这个方法被哪些方法调用,最终产生一个调用关系树。