标签: implements

Java中的"实现Runnable"与"扩展线程"

从我在Java中使用线程的时间开始,我发现了这两种编写线程的方法:

implements Runnable:

public class MyRunnable implements Runnable {
    public void run() {
        //Code
    }
}
//Started with a "new Thread(new MyRunnable()).start()" call
Run Code Online (Sandbox Code Playgroud)

或者,用extends Thread:

public class MyThread extends Thread {
    public MyThread() {
        super("MyThread");
    }
    public void run() {
        //Code
    }
}
//Started with a "new MyThread().start()" call
Run Code Online (Sandbox Code Playgroud)

这两个代码块有什么显着差异吗?

java multithreading runnable implements java-threads

2023
推荐指数
30
解决办法
67万
查看次数

682
推荐指数
15
解决办法
105万
查看次数

TypeScript中'extends'和'implements'之间的区别是什么

我想知道男人孩子有什么共同点,以及他们有什么不同.

class Person {
  name: string;
  age: number;
}
class child extends Person {}
class man implements Person {}
Run Code Online (Sandbox Code Playgroud)

extends implements typescript

77
推荐指数
6
解决办法
5万
查看次数

扩展与在TypeScript中实现纯抽象类

假设我有一个纯抽象类(即没有任何实现的抽象类):

abstract class A {
    abstract m(): void;
}
Run Code Online (Sandbox Code Playgroud)

就像在C#和Java中一样,我可以扩展抽象类:

class B extends A {
    m(): void { }
}
Run Code Online (Sandbox Code Playgroud)

C#和Java不同,我也可以实现抽象类:

class C implements A {
    m(): void { }
}
Run Code Online (Sandbox Code Playgroud)

课程BC行为有何不同?为什么我会选择一个与另一个?

(目前,TypeScript 手册语言规范不包括抽象类.)

abstract-class extends implements typescript

59
推荐指数
3
解决办法
2万
查看次数

接口扩展另一个接口但实现其方法

在java中,当一个接口扩展另一个接口时:

  1. 为什么要实现它的方法?
  2. 当接口不能包含方法体时,如何实现其方法
  3. 如何在扩展其他接口而不实现它时实现这些方法?
  4. 实现另一个接口的接口的目的是什么?

这有Java的主要概念!

编辑:

public interface FiresDragEvents {

  void addDragHandler(DragHandler handler);

  void removeDragHandler(DragHandler handler);
}


public interface DragController extends FiresDragEvents {

  void addDragHandler(DragHandler handler);

  void removeDragHandler(DragHandler handler);

  void dragEnd();

  void dragMove();
}
Run Code Online (Sandbox Code Playgroud)

在eclipse中除了实现的方法之外还有实现标志DragController.

当我鼠标悬停它,它说它实现了方法!

java extends interface implements

43
推荐指数
3
解决办法
11万
查看次数

为什么"扩展"在类声明中位于"implements"之前

为什么实现必须始终在类声明中扩展后编写,例如:

public class Register extends ActionSupport implements ModelDriven
Run Code Online (Sandbox Code Playgroud)

为什么不

public class Register implements ModelDriven extends ActionSupport 
Run Code Online (Sandbox Code Playgroud)

是编译时错误

java extends implements

43
推荐指数
2
解决办法
6万
查看次数

在一个类打字稿中扩展和实现

我能用打字稿做这个吗?

export interface IMyInterface {
    doSomething():void;
}

export class MyBaseClass {
    myBaseClassHasProperty:string;

    constructor(){
      this.myBaseClassHasProperty = 'some value';
    }
    myBaseClassHasMethods():void{
      console.log(this.myBaseClassHasProperty);
    }
}

export class MyClass extends MyBaseClass implements IMyInterface {
    constructor(){
      super();
    }

    doSomething():void{
      this.myBaseClassHasMethods();
    }
}
Run Code Online (Sandbox Code Playgroud)

在运行时我得到这个

未捕获的ReferenceError:未定义MyBaseClass

extends implements typescript

26
推荐指数
1
解决办法
2万
查看次数

23
推荐指数
2
解决办法
6万
查看次数

检查通用T是否实现了接口

所以我在Java中有这个类:

public class Foo<T>{
}
Run Code Online (Sandbox Code Playgroud)

在这个类里面我想知道T是否实现了某个接口.

以下代码不起作用,但它是我想要完成的想法:

if(T.class implements SomeInterface){
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

所以我想检查T传递给Foo 的类是否有implements SomeInterface签名.

可能吗?怎么样?

java generics interface class implements

18
推荐指数
1
解决办法
3万
查看次数

扩展类并在java中实现接口

interface Bouncable{ } 
interface Colorable extends Bouncable{ } 
class Super implements Colorable{ } 
class Sub extends Super implements Colorable {} // Ok (case -1)
Run Code Online (Sandbox Code Playgroud)

但,

class Sub implements Colorable extends Super {} // error (case -2)
Run Code Online (Sandbox Code Playgroud)

为什么case-2显示编译错误{ expected.为什么?虽然,case-1执行没有错误.

java oop extends implements

17
推荐指数
2
解决办法
6万
查看次数