作业帮 > 综合 > 作业

我是个初学java的新人,想问问大家关于java中抽象类和接口的具体定义希望你们能给举个例子说明白点谢谢

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/08 08:46:09
我是个初学java的新人,想问问大家关于java中抽象类和接口的具体定义希望你们能给举个例子说明白点谢谢
我来谈自己的理解:
抽象类就相当是一个概念.比如说水果.它不会产生具体的实例.所以就可以把水果定义为一个抽象类.还有一些共同的特性声明为抽象的.如水果都可以被吃.就可以将这个方法声明为抽象方法.当具体的子类调用时就实现该功能.举个例子:
Test.java
-----------
abstract class Fruit{
public abstract void eated() ;
}
class Apple extends Fruit{
public void eated(){
System.out.println("吃苹果") ;
}
}
class Orange extends Fruit{
public void eated(){
System.out.println("吃橘子") ;
}
}
public class Test{
public static void main(String[] args){
new Apple().eated() ;
new Orange().eated() ;
}
}
--------------
接口就相当于某个功能.当一个具体类要实现某个功能的时候.就通过实现某个接口来实现这个功能.接口可以自己定义.一个具体类可以实现多个接口.其可插入性要比抽象类好.就拿刚才的例子来说.苹果有被吃的功能.我们就把被吃声明为一个接口.
Test.java
----------
interface Eated{
public abstract void eated() ;
}
class Apple implements Eated{
public void eated(){
System.out.println("吃苹果") ;
}
}
public class Test{
public static void main(String[] args){
new Apple().eated() ;
}
}
事实上接口也弥补一抽象类的些缺点:比如子类只能继承自一个类.当一个具体类既要成为某个类的子类,又要继承某个抽象类共有的功能时,就会出现矛盾.这时就可以用接口也进行解决!
希望我说的对你有所帮助!