java语言基础之关键字2(abstract、interface、implements、instanceof)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java语言基础之关键字2(abstract、interface、implements、instanceof),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3550字,纯文字阅读大概需要6分钟。
内容图文
![java语言基础之关键字2(abstract、interface、implements、instanceof)](/upload/InfoBanner/zyjiaocheng/832/f032b5eebb6b4f80b4463a64a9a294a6.jpg)
关键字abstract
其特点:
1、用abstract关键字修饰的函数时抽象函数
2、类内有抽象函数(或抽象方法)的类为抽象类,类必须要用abstract修饰
3、抽象类不能被实例化,也就是不能用来创建对象(new...)
4、抽象类的子类必须覆盖实现父类中的抽象函数。也就是说abstract的类需要子类来重写方法
5、抽象类可以有构造函数,当被继承的时候,子类会用super()调用父类的构造函数
注意:抽象(方法、变量)不能被final或private(这样就无法继承父类了)修饰;
抽象方法不能被static修饰,因为static修饰的方法可以直接调用类名来实例化,这当然是不可能的
package Training; abstract class fu{ public abstract void show(); public void method() { System.out.println("我是构造方法!"); } } class Zi extends fu{ //super(); public void show() { System.out.println("---------zi()-----------"); } } public class ABC { public static void main(String[] args) { Zi z = new Zi(); z.show();///抽象类通过子类来实现实例化 z.method(); } }
![java语言基础之关键字2(abstract、interface、implements、instanceof) - 文章图片](/upload/getfiles/0001/2021/5/6/20210506014346877.jpg)
![java语言基础之关键字2(abstract、interface、implements、instanceof) - 文章图片](/upload/getfiles/0001/2021/5/6/20210506014346980.jpg)
1 ---------zi()----------- 2 我是构造方法!View Code
关键字interface和implements
接口:如果一个抽象类里面的所有方法都是抽象方法,且没有声明变量,而且接口里面所有的成员都是 public 权限的 。
用法:接口使用关键字 interface 来定义,并使用关键字 implements 来实现接口中的方法,且必须完全实现。
接口使用规则:
1.类中全部为抽象方法。
2.抽象方法钱不用加abstract。
3.接口抽象方法属性为public。
4.成员属性必须为常量。
接口与继承的区别:继承(extends)是单一性的,只能单单继承一个父类,而接口使用关键字 implements 多个引用并用逗号分开(引用多个interface修饰的类)
接口各种用法:
1.普通类引用接口 class Zi implements Fu1,Fu2,.....{ ... } 2.抽象类应用接口 与1同理,但在class前加abstract 3.继承父类引用接口 class Zi extends Fu implements Fu1,Fu2,...{ ... } 4.接口与接口的继承 interface Fu1 extends Fu2{ ... } Fu1,Fu2都为接口
接口与抽象类的区别:
1.一个子类如果 implements 一个接口,就必须实现接口中的所有方法(不管是否需要);如果是继承一个抽象类,只需要实现需要的方法即可。
2.如果一个接口中定义的方法名改变了,那么所有实现此接口的子类需要同步更新方法名;而抽象类中如果方法名改变了,其子类对应的方法名将不受影响,只是变成了一个新的方法而已(相对老的方法实现)。
3.抽象类只能单继承,当一个子类需要实现的功能需要继承自多个父类时,就必须使用接口。
关键字instanceof
特点:
1、instanceof关键字是在Java类中实现equals方法最常使用的关键字,表示其左边的对象是否是右边类型的实例,这里右边的类型可以扩展到继承、实现结构中,可以是其真实类型,或者真实类型的超类型、超接口类型等。
2、instanceof左边必须是对象实例或者null类型,否则无法通过编译。
3、instanceof右边必须是左边对象的可转换类型(可强转),否则无法通过编译。
4、instanceof 是 Java 的一个二元操作符,类似于 ==,>,< 等操作符。
5、instanceof左边必须为引用类型,不能为基本数据类型(如int、double、。。。)。
package Training; class Fu{ } class Zi extends Fu{ } //接口类 interface A{ } interface B{ } class C extends Fu implements A,B{ } public class atect { public static void main(String [] args) { Fu f1 = new Fu(); Fu f2 = new Zi(); Zi z = new Zi(); System.out.println(f1 instanceof Zi);//false System.out.println(f2 instanceof Zi);//true System.out.println(z instanceof Zi);//true System.out.println(null instanceof Fu);//false System.out.println("------不疯狂就不优秀------"); C c = new C(); System.out.println(c instanceof A);///true A a = new C(); System.out.println(a instanceof C);//true } }
参考资料:https://blog.csdn.net/xnh_565175944/article/details/79896232
https://blog.csdn.net/weixin_40096176/article/details/79094991
https://www.jb51.net/article/116180.htm
https://blog.csdn.net/DYD850804/article/details/81097776
http://www.51ui.cn/66/4306186/
内容总结
以上是互联网集市为您收集整理的java语言基础之关键字2(abstract、interface、implements、instanceof)全部内容,希望文章能够帮你解决java语言基础之关键字2(abstract、interface、implements、instanceof)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。