Tag: 覆盖

是否可以在运行时覆盖方法?

反正有没有在运行时覆盖一个方法? 即使它需要从该实例动态创建子类?

如何删除地图上标记上的阴影?

我在Google地图上显示自定义标记。 他们被安排得很好,但他们有这个有趣的阴影。 我怎样才能删除阴影? @Override public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when) { super.draw(canvas, mapView, shadow); // —translate the GeoPoint to screen pixels— Point screenPts = new Point(); mapView.getProjection().toPixels(geoPnt, screenPts); // —add the marker— /*Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pushpin); canvas.drawBitmap(bmp, screenPts.x, screenPts.y – 67, null);*/ return true; } }

覆盖Java中的抽象generics方法

问题大纲 我正在弄清楚我当前项目基础的更好部分,我有一个想法,我决定测试有关覆盖抽象方法。 这是我在Java中的测试类: public abstract class Base { public abstract T test(); } 首次实施: public class Inheritor extends Base { @Override public Inheritor test() { return null; } } 第二次实施: public class Inheritor2 extends Base { @Override public T test() { return null; } } 问题1 为什么要编译? 我承认我很有希望它是合法的,因为它使合同不仅确保它返回一些扩展Base的东西,而且已经更加专业化了(因此我不需要在以后的某个地方将结果转换为我的专业类) )。 一切听起来不错但是我真的履行了基类强迫我的合同吗? 我在Inheritor中的重写实现失去了某些通用层,不是吗? 我在Inheritor中实现此方法并不会返回一个Inheritor2的实例,抽象方法似乎强制执行的可能性(因为它们都扩展了Base )。 我想指出文档中的一些摘录。 我的猜测是它与类型擦除有关,如果有人在他/她的答案中提到它的准确性会很好。 […]

叠加应用程序仅对某些触摸事件作出反应

我目前正在深入研究Android开发,最近遇到了困难。 我想创建一个覆盖应用程序,它位于所有其他应用程序之上。 它应该监听三指滑动,而所有其他触摸事件应该由OS处理(例如底层应用程序)。 这有可能吗? 我已经发现我需要添加LayoutParam TYPE_PHONE而不是SYSTEM_ALERT,因为后者将消耗所有触摸事件。 所以我的课现在看起来像这样: package […] public class Overlay extends Service { private TView mView; private ThreeFingerSwipeDetector detector = new ThreeFingerSwipeDetector() { @Override public void onThreeFingerTap() { Toast.makeText(getBaseContext(), “Three Fingers recognized.”, Toast.LENGTH_SHORT).show(); } }; @Override public IBinder onBind(Intent intent) { return null; } @Override public void onCreate() { super.onCreate(); Toast.makeText(getBaseContext(), “Launched! :-)”, […]

java覆盖方法调用

我有一个超级class: public class SuperClass { public void dosomething() { firstMethod(); secondMethod(); } public void firstMethod() { System.out.println(“Super first method”); } public void secondMethod() { System.out.println(“Super second method”); } } 子类: public class SubClass extends SuperClass { public void dosomething() { super.dosomething(); } public void firstMethod() { System.out.println(“Sub first method”); } public void secondMethod() { System.out.println(“Sub […]

为什么变量在覆盖时的行为与方法不同?

通常,Overriding是在子类中重新定义成员含义的概念。为什么变量在重写java时不像方法一样? 例如: class Base { int a = 10; void display() { System.out.println(“Inside Base :”); } } class Derived extends Base { int a = 99; @Override // method overriding void display() { System.out.println(“Inside Derived :”); } } public class NewClass { public static void main(String… a) { Derived d = new Derived(); Base b […]

Javainheritance – 此关键字

我在网上搜索了类似的问题,但找不到它。 所以,发帖在这里。 在以下程序中,为什么“i”的值打印为100? AFAIK’this’指的是当前的对象; 在这种情况下,它是’TestChild’,类名也正确打印。 但为什么实例变量的值不是200? public class TestParentChild { public static void main(String[] args) { new TestChild().printName(); } } class TestChild extends TestParent{ public int i = 200; } class TestParent{ public int i = 100; public void printName(){ System.err.println(this.getClass().getName()); System.err.println(this.i); //Shouldn’t this print 200 } } 而且以下的输出正如我所期望的那样。 当我从Parent类调用“ this.test() ”时,将调用子类方法。 public class TestParentChild […]

如何识别Java字节码中的覆盖方法?

我现在专注于需要深入了解Java字节代码的项目。 在bcel的帮助下,我现在可以完成大部分工作。 我现在不清楚的一点是如何识别子类方法覆盖其基本代码? .class文件中是否记录了与指示此重写关系的方法相关联的属性,还是应该向后返回其基类可以比较方法签名? 任何提示将受到高度赞赏。

Java:覆盖或重载方法?

我在一个名为“PlaceParser”的类中有一个extends “ModelParser”的方法: protected Place parseModel(JSONObject element) … Place是Model的子类。 是否应将@Override注释添加到上面的代码中? 由于该方法具有不同的返回类型,这仍然算作覆盖具有相同名称和参数的基类方法/返回类型是否改变了“签名”? “ModelParser”方法看起来像“ModelT”也扩展了“Model”: protected abstract ModelT parseModel(JSONObject element) throws JSONException; 更新@Jon Skeet: 基类声明如下: public abstract class ModelParser { 我之前没有看到过类的样式声明。

generics不起作用的覆盖方法(未找到方法)

我试图@Override类中的方法可能看起来像一个复杂的inheritance结构,但它实际上应该很简单,但我不能让它工作。 public interface Action { } public interface Result { } public interface Player { default public <P extends Player> void onPostAction(final P target, final A action, final R result) { } } abstract public class GesturePlayer implements Player { } abstract public class RPSPlayer extends GesturePlayer { } public class RPSHumanPlayer extends RPSPlayer { […]