《java入门第一季》之面向对象接口面试题
2016-05-07 08:15
369 查看
首先,(1)叙述接口的成员特点:
(2)、抽象和接口比较:
/* 接口成员特点 成员变量;只能是常量,默认都是常量,并且是静态的。 默认修饰符:public static final 建议:自己手动给出类似:public static final int num3 = 30;的格式 构造方法:接口没有构造方法。 成员方法:默认只能是抽象方法。 默认修饰符:public abstract 建议:自己手动给出。 用几行代码验证上述特点。 */ interface Inter { public int num = 10; public final int num2 = 20; public static final int num3 = 30;//(默认)的,但是建议自己自动给出所有修饰 //错误: 需要<标识符>,说明接口没有构造方法。 //public Inter() {} //接口方法不能带有主体{},因为接口方法是没有内容的,说明只能是抽象方法。 //public void show() {} //abstract void show(); //默认public,权限最大,因此在子类方法重写的时候访问权限不能更低,父类public子类更应该public建议字符类的权限修饰符都一样 public void show(); //默认abstract,建议都写成:public abstract void show(); } /* class InterImpl implements Inter { public InterImpl() { super(); } } */ class InterImpl extends Object implements Inter {//类实现接口。class 类名 implements接口名{} public InterImpl() {//子类默认继承于object中的无参构造方法 super(); } public void show() {} } //测试类 class InterfaceDemo2 { public static void main(String[] args) { //创建对象 Inter i = new InterImpl();//多态的方式, System.out.println(i.num); System.out.println(i.num2); System.out.println(i.num3); //i.num = 100; //i.num2 = 200; //System.out.println(i.num); //无法为最终变量num分配值 //System.out.println(i.num2);//无法为最终变量num2分配值,验证了final修饰 System.out.println(Inter.num); System.out.println(Inter.num2);//接口名称调用成员,说明有static修饰 System.out.println(Inter.num3); System.out.println("--------------"); } }
(2)、抽象和接口比较:
抽象类和接口的区别: A:成员区别 抽象类: 成员变量:可以变量,也可以常量 构造方法:有 成员方法:可以抽象,也可以非抽象 接口: 成员变量:只可以常量而且是静态 构造方法:无 成员方法:只可以抽象 B:关系区别 类与类 继承,单继承 类与接口 实现,单实现,多实现 接口与接口 继承,单继承,多继承 C:设计理念区别 抽象类 被继承体现的是:”is a”的关系。抽象类中定义的是该继承体系的共性功能。向上抽取 接口 被实现体现的是:”like a”的关系。接口中定义的是该继承体系的扩展功能。属于特性的东西
相关文章推荐
- 《java入门第一季》之面向对象接口面试题
- 剑指offer 面试题8:旋转数组的最小数字 题解
- 吃了程序员这碗青春饭 40岁你该怎么办?
- 月入十万真的难吗?
- javase基础面试题
- 码农周刊
- 书籍推荐《面向程序员的数据挖掘指南》
- 剑指Offer 面试题11:数的整数次方(Leetcode50. Pow(x, n))【C库函数pow模拟】题解
- 如何成为一名高级程序员
- 程序员加班如何谈效率
- 黑程序猿?IOS程序员爱自黑?
- 远程工作时代已经到来,你准备好了么?
- java面试题
- 程序员如何才能成为网红新宠儿
- 原来程序员的母亲节可以这样温馨!
- Java程序员的日常——《编程思想》一切都是对象
- 程序员修炼之道----从小工到大家读书笔记(一)
- 面试国信公司小结__20160506__李楚煌
- 后端面试总结(转载请标明)
- 面试感悟----一名3年工作经验的程序员应该具备的技能