欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

java抽象和接口的理解_Java接口实现与抽象类的区别理解 | 彬菌

发布时间:2025/3/21 java 64 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java抽象和接口的理解_Java接口实现与抽象类的区别理解 | 彬菌 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创!

恰饭广告

接口:接口是抽象方法的集合。接口通常以interface来声明。

接口注意事项:

1、严格来说,接口是用来实现(implements),而不是继承(extends)。

2、接口对象不能直接使用关键字new进行实例化,可以利用子类对象的向上转型进行实例化。

3、接口必须要有子类,子类可以实现(implements)多个接口,而且一个接口也能继承另一个接口。

4、接口的成员只能是常量,不能是变量。如String name;(变量)。String name=bing;(常量)。

5、接口的成员和方法一般都是对外开放的(public) ,【private 、protected 、abstract】不能去修饰接口的常量。【protected、private、static、final】不能去修饰接口的方法。

6、定义接口方法和常量的时候就算没有写上public,那么最终的访问权限也是public,而不是default。

7、为了节省打字时间,接口的方法默认都是public abstract修饰。

接口的示例代码:

public interface OneInterface {  //接口1

public static final String oneName = "小明";//全局常量

public abstract void msgOne();//公共抽象方法,无return

}

interface TwoInterface{  //接口2

public static final String twoName = "小红";//全局常量

public abstract String msgTwo();//公共抽象方法,有return

}

要去实现接口的子类:

public class Test implements OneInterface,TwoInterface{ //多接口实现

@Override

public void msgOne() { //子类去实现接口1的方法

System.out.println(oneName);

}

@Override

public String msgTwo() { //子类去实现接口2的方法

System.out.println(twoName);

return twoName;

}

public static void main(String[] args){

Test t=new Test(); //子类实例对象

t.msgOne(); //对象调用方法

t.msgTwo();

}

}

接口的作用:(不是三言两语就能说清楚的)

1、解决了java的单一继承(extends)。

抽象类:abstract修饰的类。

抽象类注意事项:

1、abstract 可以修饰类或方法,但不可以修饰成员和构造方法。

2、抽象类对象不能通过new关键字实例化。

3、抽象方法不在声明它的类中实现,但必须在某个子类中重写。

4、abstract 关键字不能应用于 static、private 、 final 修饰的方法,因为这些方法不能被重写。

5、抽象类不一定要有抽象方法,但有抽象方法的类必定是抽象类。

抽象类代码例子:

public abstract class Abstract {

String oneName="小明";

String twoName="小红";

public abstract void msgOne(); //抽象类自己的不能实现的方法

public abstract String msgTwo();

static void test(){  //抽象类自己的可以实现的方法

System.out.println("小明\n小红");

}

public static void main(String[] args){

test();  //抽象类不能创建对象,所以用static修饰方法,方便调用

}

}

继承抽象类的子类:

public class Test extends Abstract{  //继承抽象类

@Override

public void msgOne() {  //重写了抽象类的方法

System.out.println(oneName);

}

@Override

public String msgTwo() {  //重写了抽象类的方法

System.out.println(twoName);

return twoName;

}

public static void main(String[] args){

Test t=new Test();  //子类实例对象

t.msgOne(); //对象调用方法

t.msgTwo();

}

}

运行结果:(相同)

小明

小红

接口与抽象类的区别:

1、接口多实现,抽象单继承。

2、抽象类中有自己可以实现的方法体,但接口不行。

3、抽象类可以有静态代码块和静态方法,但接口不行。

4、图:

最后:仔细认真理解!

让我恰个饭吧.ヘ( ̄ω ̄ヘ)

支付宝 ——————- 微信

恰饭广告

总结

以上是生活随笔为你收集整理的java抽象和接口的理解_Java接口实现与抽象类的区别理解 | 彬菌的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。