博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向抽象/接口编程以及继承
阅读量:4683 次
发布时间:2019-06-09

本文共 1168 字,大约阅读时间需要 3 分钟。

继承extend:

子类继承父类用extend,在重写父类方法时,不能降低方法的访问权限

子类不能将父类的static方法写成实例方法,也不能将实例方法写成static方法

当子类重写父类的成员变量和方法时,我们可以用super来访问父类被隐藏的变量和方法,也可以用super来调用父类的构造方法

final关键字,final类不能被继承,final方法不能被重写,final变量不能修改,即常量

 

抽象abstract:

抽象类,抽象方法只能声明,不能实现,抽象类可以有抽象方法,也可以有非抽象方法,抽象类不能直接new来创建对象

抽象类的继承:如果有非抽象类来继承抽象类,那么子类必须重写所有的抽象方法,如果是抽象类继承抽象类,那么子类可以继承抽象类的抽象方法

package com.imooc;abstract class Animal {    abstract void eat();    void printname()    {        System.out.println("dog");    }}
Animal
package com.imooc;public class Dog extends Animal {    @Override    void eat() {        // TODO Auto-generated method stub        System.out.println("dog eat meat");    }    }
Dog

接口interface:

接口里只有常量,没有变量,只有抽象方法,没有普通方法,常量都是static,常量和方法权限一定是public;

如果一个类实现了一个接口,那么子类必须重写所有方法(因为全部都是抽象方法,而且访问权限都应该是public)

package com.imooc;interface Animal{    final int age=10;    public abstract void eat();}
Animal
package com.imooc;public class Dog implements Animal {    @Override    public void eat() {        // TODO Auto-generated method stub        System.out.printf("dog eat meat,dog age is %d\n",age);    }    }
Dog

抽象和接口都是为了让编写者更容易维护,不必拘泥于细节,只需要关心具体操作

转载于:https://www.cnblogs.com/acjiumeng/p/8016943.html

你可能感兴趣的文章
touch事件
查看>>
HDU 1370: Biorhythms
查看>>
2017-2018 ACM-ICPC, NEERC, Northern Subregional ContestG - Grand Test
查看>>
js闭包深入详解
查看>>
ZOJ 1450
查看>>
POJ 3071
查看>>
Codeforces Round #305 (Div. 2) C题 (数论)
查看>>
孩子,你记住:可以哭,可以恨,但不可以不坚强
查看>>
今天学会来用sudo nuatilus命令修改只读文件
查看>>
window.onload=function(){}与$(function(){})的区别
查看>>
网站响应过慢问题
查看>>
java常识
查看>>
15、枚举类型和标志位
查看>>
关于用cin cin.get() getchar(), getline输入时的结束符问题
查看>>
blur和click冲突问题
查看>>
读取TXT并筛选数据写入新建TXT
查看>>
winform窗体(一)——基本属性
查看>>
时间模块,随机数模块,文件操作模块,sys模块
查看>>
light oj 1037 状压dp
查看>>
all,any函数
查看>>