diff --git a/dev/core/test/com/google/gwt/dev/CompilerTest.java b/dev/core/test/com/google/gwt/dev/CompilerTest.java
index 137e2ff..90c649f 100644
--- a/dev/core/test/com/google/gwt/dev/CompilerTest.java
+++ b/dev/core/test/com/google/gwt/dev/CompilerTest.java
@@ -993,7 +993,7 @@
         JavaResourceBase.createMockJavaResource(
             "com.foo.Impl",
             "package com.foo;",
-            "public class Impl implements SomeJsFunction {",
+            "public final class Impl implements SomeJsFunction {",
             "  public void m() { SomeInterface.class.getName(); } ",
             "}");
 
@@ -1146,7 +1146,7 @@
         JavaResourceBase.createMockJavaResource(
             "com.foo.Foo",
             "package com.foo;",
-            "public class Foo implements IFoo {",
+            "public final class Foo implements IFoo {",
             "  @Override public int foo(int x) { return 0; }",
             "}");
 
diff --git a/user/test/com/google/gwt/core/interop/JsTypeTest.java b/user/test/com/google/gwt/core/interop/JsTypeTest.java
index bc67cc4..5b7fba7 100644
--- a/user/test/com/google/gwt/core/interop/JsTypeTest.java
+++ b/user/test/com/google/gwt/core/interop/JsTypeTest.java
@@ -458,7 +458,7 @@
     int m();
   }
 
-  static class JavaConcreteJsFunction implements JsFunctionInterface {
+  static final class JavaConcreteJsFunction implements JsFunctionInterface {
     public int m() {
       return 5;
     }
diff --git a/user/test/com/google/gwt/core/interop/JsTypeVarargsTest.java b/user/test/com/google/gwt/core/interop/JsTypeVarargsTest.java
index 81b95c6..c9a70d0 100644
--- a/user/test/com/google/gwt/core/interop/JsTypeVarargsTest.java
+++ b/user/test/com/google/gwt/core/interop/JsTypeVarargsTest.java
@@ -250,7 +250,7 @@
     Object f(int i, Object... args);
   }
 
-  static class AFunction implements Function {
+  static final class AFunction implements Function {
 
     @Override
     public Object f(int i, Object... args) {
diff --git a/user/test/com/google/gwt/core/interop/MyJsFunctionInterfaceImpl.java b/user/test/com/google/gwt/core/interop/MyJsFunctionInterfaceImpl.java
index 126ede3..7400d1f 100644
--- a/user/test/com/google/gwt/core/interop/MyJsFunctionInterfaceImpl.java
+++ b/user/test/com/google/gwt/core/interop/MyJsFunctionInterfaceImpl.java
@@ -18,7 +18,7 @@
 /**
  * A concrete class that implements a JsFunction interface.
  */
-public class MyJsFunctionInterfaceImpl implements MyJsFunctionInterface {
+public final class MyJsFunctionInterfaceImpl implements MyJsFunctionInterface {
 
   public int publicField = 10;
 
diff --git a/user/test/com/google/gwt/core/interop/NativeJsTypeTest.java b/user/test/com/google/gwt/core/interop/NativeJsTypeTest.java
index ff4d910..367d65b 100644
--- a/user/test/com/google/gwt/core/interop/NativeJsTypeTest.java
+++ b/user/test/com/google/gwt/core/interop/NativeJsTypeTest.java
@@ -255,7 +255,7 @@
     void m();
   }
 
-  static class SomeFunction implements SomeFunctionInterface {
+  static final class SomeFunction implements SomeFunctionInterface {
     public void m() {
     }
   }
