本文目录一览:
- 1、PHP 中为什么没有类似 Java 的 interface 接口
- 2、java中定义了一个接口A,没有类实现A接口。B类声明了一个A接口类型的变
- 3、java接口中的方法用default修饰有什么特性,为什么实现类不自动生成接口中的方法,
- 4、java怎样创建接口,应用接口
- 5、java中没有构造方法的类或接口怎么实例化
- 6、java接口和类有什么区别?
PHP 中为什么没有类似 Java 的 interface 接口
因为java 中不能定义抽象静态方法static
interface中所有的成员方法都是abstract的,当然也就不能定义静态方法static。
静态法多的话制作成专门的类 想Math 一样
java中定义了一个接口A,没有类实现A接口。B类声明了一个A接口类型的变
你不知道Java多态吗?
声明了private A a,这并没有实例化变量,只是有这么一个名字为a的变量而已,直接用a.方法的话会报空指针异常。
假如类C 实现了A接口 ,
可以在后面用到a时给a 实例化 a = C c;
这样就不会报错
java接口中的方法用default修饰有什么特性,为什么实现类不自动生成接口中的方法,
在Java8之前,接口中的实现方法必须是abstract的,实现该接口的类必须重写该方法,接口只负责声明该方法。
Java8给接口增加了default关键词,用default修饰的方法可以有实现内容,实现该接口的类可以不重写用default修饰的方法,类似于继承。但这样也会带来新的问题。
Java中只能继承一个类,但是可以实现多个接口,当多个接口中有同一个方法时,以前是没问题的,因为实现类必须重写方法。但现在,当多个接口中有同一个用default修饰的方法时,就无法判断到底实现的是哪个接口的方法。这种情况下,就必须重写方法。
还有一种情况,一个类继承的父类和实现的接口中都有同一个方法,而这个类又没有重写时,实现的是父类的方法,而不是接口中的方法。
java怎样创建接口,应用接口
创建接口:public interface myFirstInterface()
{
int ID=1;
void run();
void smile();
}
在本次创建的接口中,定义了一个int的ID 和一个方法run,在接口中,虽然没有显示的写出public 关键字,但是所有的成员都是public反问的,接口里面的变量都默认的是public static final的,所以,借口里面定义的变量可以当成全局的静态变量.
实现接口有几种方式:
第一种:部分实现,就是定义一个抽象类,来实现接口中的部分方法.
定义抽象类的例子
abstract class A implements myFirstInterface
{
public void run()
{
System.out.println("I am running!");
}
}
第二种方法,定义一个类,实现接口中的全部方法:
abstract class B implements myFirstInterface
{
public void run()
{
System.out.println("I am running!");
}
public void smile()
{
System.out.println("I am smiling!");
}
}
另外,接口的提出,是为了实现java中的多继承.一个类可以在继承一个类后在来实现一个或者多个接口.
不知道你明白了没有~?
java中没有构造方法的类或接口怎么实例化
1 接口怎么实例化?
接口不能直接实例化,只能通过实例化实现类来实现。譬如
List list = new ArrayList();
2没有构造方法的类
Java默认都有一个空的构造方法。
譬如class A{
String name;
}
---- A a = new A();
java接口和类有什么区别?
接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。
接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。
接口与类的区别:
接口不能用于实例化对象。
接口没有构造方法。
接口中所有的方法必须是抽象方法。
接口不能包含成员变量,除了 static 和 final 变量。
接口不是被类继承了,而是要被类实现。
接口支持多继承。