Java中抽象类与接口的注意要点
来源:互联网 发布:淘宝上买春药搜什么 编辑:程序博客网 时间:2024/06/05 02:06
抽象类与接口,对于其中的一些规定如果不是很清楚则会常常造成程序编译不通过的现象。所以,特意整理一下关于抽象与接口的注意地方。
我们需要知道的:
- 抽象类是不能生成对象的
- 抽象类中的方法可以是抽象方法(没有方法体),也可以是具体方法(有具体方法体)
- 必须为抽象父类中的所有的抽象方法进行具体定义重写
- 对于抽象父类中的非抽象方法可以不用重写
- 接口中所有方法均是抽象方法,且默认修饰符是public
- 普通类继承抽象类时,重写的方法的修饰符可以不是public
- 抽象类实现接口可以选择实现某种方法,不用全部实现
小例子来具体实现:
abstract class Ab{ abstract void g(); abstract void k(); void f(){}; //抽象类中可以定义非抽象方法,但是一样要是具体方法;}class Cc extends Ab{ void g(){ System.out.println("g()"); } void k(){ System.out.println("k()"); } //必须为抽象父类中的所有的抽象方法进行具体定义重写 //对于抽象父类中的非抽象方法可以不用重写}class Dd extends Cc{ void g(){ System.out.println("g()1"); } //对于普通类的继承,选择方法重写即可,不用全部重写}interface in{ abstract void h(); void m(); //m方法仍是抽象方法,只是省略abstract关键字 //void j(){} 接口内应全都是抽象方法,不允许具体方法的出现 //接口内的方法的修饰符默认为public,可以省略不写,但是实现接口时方法要加上public}class ss implements in{ public void h(){}; //普通类继承抽象类时,重写的方法的修饰符可以不是public public void m(){}; //普通类要实现接口中的所有方法}abstract class st implements in{ public void h(){ System.out.println("h1"); }} //抽象类实现接口可以选择实现某种方法,不用全部实现public class Demo{ public static void main(String []args){ Cc c1=new Cc(); Dd d1=new Dd(); c1.k(); d1.g(); }}
输出结果:
k() g()1
阅读全文
1 0
- Java中抽象类与接口的注意要点
- 抽象类、接口与多态相关注意要点
- java中抽象类与接口的区别与关系
- Java中抽象类与接口的区别 | Java基础
- Java中类、抽象类、接口的联系与区别
- Java中抽象类与接口的区别
- java中抽象类与接口的区别
- java中抽象类与接口的区别
- 深析Java中抽象类与接口的区别
- Java中抽象类与接口的区别
- 详细解析java 中抽象类与接口的区别
- java中 接口与抽象类的区别
- Java 中 抽象类与 接口的应用
- Java中抽象类与接口的区别
- java中抽象类和接口的作用与区别
- java中抽象类与接口的区别
- Java中接口与抽象类的区别
- Java中接口与抽象类的异同点
- SpringMVC(三)
- leetcode 623. Add One Row to Tree
- Java 类会执行初始化的5种情况
- 关于Lenovo YOGA700 启动boot与bios
- Day16-response
- Java中抽象类与接口的注意要点
- 使用scrapy爬取CR糗百图片
- 美丽数
- PowerDesigner使用教程
- 51Nod-1436-方程的解数
- 18. 优雅解决The android gradle plugin version 3.0.0-alpha1 is too old, update to the latest version
- selenium报错ImportError: cannot import name 'webdriver'
- 解决Win10下_findnext()异常
- [JZSC2017]【NOIP2017模拟6.25】总结