Java函数=函数2
我对Java有点陌生,我想知道是否有办法以某种方式更改类的函数Java函数=函数2,java,Java,我对Java有点陌生,我想知道是否有办法以某种方式更改类的函数 Class pager = new Pager();// everything is initialized pager.dostuff() = function(){}; 是否有一个特定的名称,是否可以用Java实现?如果没有,是否有一种语言允许这样做 谢谢你抽出时间 编辑: 澄清这个问题,因为最初我似乎想用不同的函数初始化新类。事实并非如此。我想在它被创建后再进行更改。原因是我正在使用android,而我得到的类来自xml。当
Class pager = new Pager();// everything is initialized
pager.dostuff() = function(){};
是否有一个特定的名称,是否可以用Java实现?如果没有,是否有一种语言允许这样做 谢谢你抽出时间 编辑: 澄清这个问题,因为最初我似乎想用不同的函数初始化新类。事实并非如此。我想在它被创建后再进行更改。原因是我正在使用android,而我得到的类来自xml。当我得到这样的类时,是否可以更改类的函数
Pager pager = (ViewPager) findViewById(R.id.pager)
我觉得我必须创建一个新类,这还可以,但我想看看是否可以这样做。在java中,您可以在运行时重写方法,如-
Pager pager = new Pager(){
@Override
public void dostuff(){
....
}
};
运行时,它将创建寻呼机的子类并覆盖
doStuff
方法。在java中,您可以在运行时覆盖方法,如-
Pager pager = new Pager(){
@Override
public void dostuff(){
....
}
};
运行时,它将创建Pager的子类,并重写
doStuff
方法。当然。可以通过通过注释性内部类重写类,同时继承被重写类的所有属性
Pager pager = new Pager(){
public void dostuff(){
....
}
}
PS:-注意,在匿名内部类之外,您可以通过annonymous内部类的实例仅调用父类中存在的那些方法。当然,可以通过annonymous内部类重写类,同时继承被重写类的所有属性
Pager pager = new Pager(){
public void dostuff(){
....
}
}
注意,在匿名内部类之外,您可以通过您的匿名内部类的实例只调用父类中存在的那些方法。 也许您可以重写子类中的函数 您上面展示的内容可以在Ruby中完成(我想) 凌驾
Pager pager = new Pager() {
@Override
public void doStuff() {
doSomethingElseFunct();
}
};
Java不提供这样的功能。 也许您可以重写子类中的函数 您上面展示的内容可以在Ruby中完成(我想) 凌驾
Pager pager = new Pager() {
@Override
public void doStuff() {
doSomethingElseFunct();
}
};
你到底想做什么?另外,这在javaJavascript中是无效的语法,JavaScript将允许您执行类似的操作。但是你的目标到底是什么呢?想想这个问题是关于java中的函数指针的。看看这个,您可以在Java8中执行类似的操作,但现在您必须等待。当然不是“替换”一个函数,而是用一个“函数接口”做一些类似的事情。“有没有一种语言允许这样做?”--回答--Javascript允许这样做。你到底想做什么?另外,这在javaJavascript中是无效的语法,JavaScript将允许您执行类似的操作。但是你的目标到底是什么呢?想想这个问题是关于java中的函数指针的。看看这个,您可以在Java8中执行类似的操作,但现在您必须等待。当然,不是“替换”一个函数,而是做一些类似于“函数接口”的事情。“有没有一种语言允许这样做?”——回答——Javascript允许这样做。AbhinavKumar和@SubhrajyotiMajumder有相同的代码。。。我可以知道为什么吗?无论是类风格还是接口风格,代码通常都是为其他内部类编写的。Kathy SierraAbhinavKumar和@Subbrajyotimajumder在SCJP认证中使用了相同的格式,它们具有相同的代码。。。我可以知道为什么吗?这就是为什么代码通常是为其他内部类编写的,无论是类风格还是接口风格。Kathy在SCJP认证中使用相同的格式Sierra@AbhinavKumar和SubhrajyotiMajumder有相同的代码。。。我可以知道为什么吗?为什么!因为这可能是首选的方式。还有一件事
@Override
注释可以很好地证明方法的正确性。@AbhinavKumar和SubhrajyotiMajumder有相同的代码。。。我可以知道为什么吗?为什么!因为这可能是首选的方式。还有一件事@覆盖了
注释,它紧密地证明了方法的正确性。