本帖最后由 pepsi小唐 于 2021-11-6 13:50 编辑
我的想法就是如果达到一个条件,那么就引用另外一个java类执行
能告诉我怎么引用吗
我的想法就是如果达到一个条件,那么就引用另外一个java类执行
能告诉我怎么引用吗
https://www.runoob.com/java/java-polymorphism.html
学习一下多态 应该是你描述的那样
学习一下多态 应该是你描述的那样
class a{}
class b{
a a =new a()
}
class b{
a a =new a()
}
如果你的想法是要达成条件后, 引用一个方法, 那么你可以了解一下 Consumer 的用法,可以达到你想要的目的
啊。。都是大佬,看不懂。。。
你搁着套娃呢
One.折棒 发表于 2021-11-8 13:40
你搁着套娃呢
不会就不要回答,我为什么不能套?
是类似于复制代码这样的吗?
- if (条件为真) {
- 调用本类方法
- } else {
- 调用另一个类的方法
- }
我觉得可以把另外一个Java类要执行的语句写成一个方法 用if条件语句设置条件 达成条件就调用那个方法
尝试把问题简单化
尝试把问题简单化
如果想特定执行某一段代码,直接传入匿名函数貌似是最简单粗暴的方法;
或者是出于提高代码的可读性等等原因,你可以在那个类里面实现静态方法,到时候传入这个静态方法就行;
又或者你需要执行的类里面有一些其他代码需要改动的成员变量,那你大可在这个类里面new一个静态INSTENCE,需要的时候调用这个INSTANCE就行了;
又或者你可以把这个类作为内部类,直接调用;
如果你不考虑内存占用,大可每次调都new一个新的对象,无所畏惧;
解决方法有很多,按需取用
或者是出于提高代码的可读性等等原因,你可以在那个类里面实现静态方法,到时候传入这个静态方法就行;
又或者你需要执行的类里面有一些其他代码需要改动的成员变量,那你大可在这个类里面new一个静态INSTENCE,需要的时候调用这个INSTANCE就行了;
又或者你可以把这个类作为内部类,直接调用;
如果你不考虑内存占用,大可每次调都new一个新的对象,无所畏惧;
解决方法有很多,按需取用
我建议你再多解释下你的问题,现在这个问题即使是各位编程老手也看不太懂你在说什么。
如果从目前的字面意思的话,我只能说,在A类里所有的域都写成函数访问,然后在函数里
if (条件)
{
类B.做某事()
}
else
{
照常做A类的某事。
}
另外,你也要考虑下类和对象这种东西是咋用的,你的需求是否适合套进类和对象里。面向对象这套模式是用来做封装和继承的,如果你需求不是这种情况,可能就未必要封装一个类。强行写拧巴的代码对自己没有好处,而且会使得大佬们更不想帮你修正你的代码。
如果从目前的字面意思的话,我只能说,在A类里所有的域都写成函数访问,然后在函数里
if (条件)
{
类B.做某事()
}
else
{
照常做A类的某事。
}
另外,你也要考虑下类和对象这种东西是咋用的,你的需求是否适合套进类和对象里。面向对象这套模式是用来做封装和继承的,如果你需求不是这种情况,可能就未必要封装一个类。强行写拧巴的代码对自己没有好处,而且会使得大佬们更不想帮你修正你的代码。
直接内部类不就行了...
本帖最后由 狡诈师 于 2021-11-21 00:19 编辑
静态类直接调用
复制代码
实例化对象
复制代码
静态类直接调用
- public static class Hello {
- public void say() {
- }
- }
- Hello.say();
实例化对象
- public class World {
- public void say() {
- }
- }
- World w = new World();
- a.say();
大佬看不懂桌面版