考虑以下代码:
public interface A {
public A another();
}
public interface B {
public B another();
}
public interface AB extends A,B {
public AB another();
}
这将导致AB上的编译错误。
类型B和A是不兼容的;它们都定义了另一个(),但是具有无关的返回类型
我看到了这个,并遵循了被接受的答案中的不兼容示例--即
public interface C {
public void doSomething();
}
public
鉴于这些接口:
interface A {
onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
}
interface B {
onClick?: (event: React.MouseEvent<HTMLButtonElement>, pressed: boolean) => void;
}
这个接口试图扩展这两个
interface C extends A, B {
name: string;
}
在本课程中使用:
class MyComponent e
interface A {
void hi();
}
class AImpl implements A {
public void hi() {
System.out.println("hi");
}
public void to() {
System.out.println("Test");
}
}
public class InterfaceTest {
public static void main(String[] args) {
A a
根据我从一些关于Java的书中了解到的,接口不能扩展类。
但是所有接口都继承了对象类中的方法。为什么会这样?
如果接口不是从对象类扩展的。那么这个代码是如何工作的呢?
interface A
{
public boolean equals(Object o);
}
class InterfaceAndObjectClass
{
public static void main(String[] args)
{
A a = null;
a.equals(null);
a.hashCode();
与Actionscript语义相比,我更熟悉Java的类和接口语义,但我有一个在Java中工作但在Actionscript中不能工作的代码示例。这是一个严重的问题,因为我试图编写代码从Java DTO生成我的ActionScript值对象,除非语义相同,否则我会遇到很大的麻烦。
以下是在Java中工作但在Actionscript中无法编译的代码:
接口A:
public interface Ia {
function makeCopy():Ia;
}
接口B:
public interface Ib extends Ia {
}
B类(不会编译):
public class B imp
我有两个接口,但是它们有一个相同的方法,返回值不同,比如float和double。如何在类中实现两者,但不更改方法名称?
//Calculate.java
public interface Calculate {
final float PI = 3.141592f;
float getCircumference(float r);
float getArea(float r);
}
interface GeometryShape{
public static final float PI = 3.14159f;
public abstract floa
就像主题一样。下面是一个例子:
public abstract class Bird{
public abstract void eat();
public abstract void fly();
}
public interface Flyable{
public void fly();
}
public class Test extends Bird implements Flyable{
public void eat(){
System.out.println("I'm eating");
}
// A
假设我有两个接口interface A和interface B:
public interface A {
public int data();
}
public interface B {
public char data();
}
接口A的方法是public int data(),接口B的方法是public char data()。
当我在某个类C中同时实现接口A和B时,编译器会给我一个错误。这是java中的一个缺陷吗?我认为这是为什么我们不允许扩展多个类的主要原因之一,那么当这个问题仍然存在的时候,为什么我们可以实现多个接口呢?
作为学习的一部分,下面是我想要理解的病理例子,
class C{}; interface I{}; class S extends C implements I{};
class B{};
通过这些声明,我可以说,class C class B是Object类的直接子类,可以从这些类中访问Object类的所有方法。但,
1)当我声明interface I{};时,interface I与Object类有什么关系?
接下来,下面是一些数组类型的赋值,然后是子类到超类赋值和反向赋值。
C[] c = new C[4];
S[] s = new S[6];
I[] i = new S[0];
B[]
成功编译了下面的接口和类。在下面的输出中提到了问题:
interface MyInterface{}
class MyClass implements MyInterface{}
class InterDoubt{
static MyInterface mi ;//= new MyClass() ;
public static void main(String[] args){
System.out.println("X") ;
try{
synchronized(mi){
假设我有两个接口:
public interface InterfaceA {
public int getStuff();
}
public interface InterfaceB {
public String getStuff();
}
现在我有了一个实现这两个接口的类:
public class Testing implements InterfaceA, InterfaceB{
public String getStuff() {
return "one";
}
}
我的问题是,这会不会汇编?如果它确实编译了,它会运行吗?
编辑:
我确实在我的
我一直认为,具有相同方法的两个接口不能由一个类继承,正如在许多这样的问题中所说的那样。
Java 7,JDK1.7
但这里的代码是有效的。
示例:
接口:
public interface IObject
{
public Object create(Object object) throws ExceptionInherit;
}
public interface IGeneric<T>
{
public T create(T t) throws ExceptionSuper;
}
实现类:
public class Test implements IGener
我有两个同名的方法,但参数类型不同,返回类型也不同。
public class TestOverloading {
public void display(){
System.out.println("Inside display method of TestOverloading class");
}
public int display(int i){
System.out.println("Inside display method of TestOverloading class values is
下面是一个非常基本的方法重载示例,两个方法同名但签名不同:
int MyMethod(int a)
int MyMethod(int a, string b)
现在假设我定义了两个泛型接口,它们共享完全相同的名称,但具有不同数量的类型参数,例如:
IMyInterface<T>
IMyInterface<T1,T2>
我可以说这代表了“泛型接口重载”吗?或者“重载”这个术语只适用于这种上下文中的方法?尽管如此,它看起来与方法重载非常相似,在某种意义上,我们保持了完全相同的名称,但改变了参数。
如果我不能说“泛型接口重载/重载”,我能对这两个共享相同名称的不同接口说些什么
在Java8中创建默认方法时,某些Object方法不能从默认方法中调用。例如:
interface I {
default void m() {
this.toString(); // works.
this.clone(); // compile-time error, "The method clone() is undefined for the type I"
this.finalize(); // same error as above.
}
}
看来,clone()和finalize()是Object中
我们知道每个类都从Object扩展而来,这意味着我们可以在任何类中使用所有Object的方法。我的问题如下:
interface B{
}
public class A implements B{
public static void main(String[] args){
B i = new A();
i.display();//we can't do this : because the interface B doesn't define such a met
根据面向对象编程(OOP)接口不应继承类。
既然Interface不能继承Class,那么java中的接口引用如何使用Object类方法呢?
例:-
public interface Test {
public void functionA();
}
class Child implements Test{
public void functionA() {
}
public static void main(String[] args) {
Test test = new Child();
test.toString(); // since t
让我们考虑下面的例子。
public interface SimpleInterface {
public void simpleMethod();
}
public class SimpleClass implements SimpleInterface{
public static void main(String[] args) {
SimpleInterface iRef = new SimpleClass();
SimpleClass cRef = new SimpleClass();
iRef.simpleMethod(); // All
我正在尝试创建一个实现两个接口的ActionScript 3类。这些接口包含具有不同签名但名称相同的成员函数:
public interface IFoo
{
function doStuff(input:int):void;
}
public interface IBar
{
function doStuff(input1:String, input2:Number):void;
}
public class FooBar implements IFoo, IBar
{
// ???
}
例如,在C#中,这不是问题,因为方法可以重载,但ActionScript不支
有一些我正在编写的VB代码。我用c#重写了原始VB代码中的一些东西
在我的VB类中:
Implements actionBaseClass
Private m_config_url As String
Private m_config_unc As String
Private m_connection_string As String
Private m_xml_doc_path_or_data As String
Private m_fpid As String
Private m_cancelled As Boolean
我有一个定义方法charge()的接口,需要第一个参数,第二个参数是可选的,我的布局如下所示:
interface Process{
public function charge($customerProfileId, $paymentProfileId = null);
// Other items
}
abstract class CardProcessor implements Process{
// Some methods & properties are here
}
class Authorize extends CardProces