Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 防止子类重写接口_Java - Fatal编程技术网

Java 防止子类重写接口

Java 防止子类重写接口,java,Java,有没有办法防止子类重写的实现 超级类实现的接口 我想在android中创建一个包含listView的自定义视图,并实现onScrolllistener,但是当子类在列表上设置onScrolllistener时。超级类中的侦听器永远不会被调用。您可以添加final关键字来执行此操作 例如: 您可以添加final关键字来执行此操作 例如: 是的,有。 最后一句话是:final 通过声明方法final,您可以声明不允许子类@重写该方法(即使没有注释) 考虑这个接口: interface MyInter

有没有办法防止子类重写的实现 超级类实现的接口


我想在android中创建一个包含
listView
的自定义视图,并实现
onScroll
listener,但是当子类在列表上设置
onScroll
listener时。超级类中的侦听器永远不会被调用。

您可以添加
final
关键字来执行此操作

例如:


您可以添加
final
关键字来执行此操作

例如:


是的,有。

最后一句话是:
final

通过声明方法
final
,您可以声明不允许子类
@重写该方法(即使没有注释)

考虑这个接口:

interface MyInter  {
   public void foo();

   public String bar();
}
你们班呢

public class MyClass implements MyInter {

  @Override 
  public final void foo() {
    //Cant touch this
  }

  @Override
  public String bar() {
    return "foo";
  }

}
现在,您的第三个类可以扩展MyClass,但仅限于重写
bar()
,因为
foo()
final
关键字保护:

public class Thirs extends MyClass {
   @Override
   public String bar() {
     return "bar";
   }
}

是的,有。

最后一句话是:
final

通过声明方法
final
,您可以声明不允许子类
@重写该方法(即使没有注释)

考虑这个接口:

interface MyInter  {
   public void foo();

   public String bar();
}
你们班呢

public class MyClass implements MyInter {

  @Override 
  public final void foo() {
    //Cant touch this
  }

  @Override
  public String bar() {
    return "foo";
  }

}
现在,您的第三个类可以扩展MyClass,但仅限于重写
bar()
,因为
foo()
final
关键字保护:

public class Thirs extends MyClass {
   @Override
   public String bar() {
     return "bar";
   }
}

final
关键字?
final
关键字?