1.***接口
(1)成员特点: 成员变量 只能是常量 默认修饰符 public static final 构造方法 没有构造方法,因为接口主要是扩展功能的,而没有具体存在 成员方法 只能是抽象方法 默认修饰符 public abstract2.***类与类,类与接口以及接口与接口的关系 类与类:单继承,多层次 public class A extends B{} public class B extends C{}类与接口:多实现
public class A implements 接口1,接口2{}接口与接口:多继承
public interface 接口1 extends 接口2,接口3{}同时存在继承,实现:先继承,后实现 。
public class A extends 类 implements 接口1,接口2{}3.***面试题:抽象类和接口的区别? / abstract class和interface的区别 ?
子类: 单一继承 多重实现构造器: 抽象类可以有构造器 接口不能有构造器与正常Java类的区别: 除了你不能实例化抽象类之外,它和普通Java类没有任何区别 接口是完全不同的类型 :访问修饰符:抽象方法可以有public、protected和default这些修饰符 . 接口方法默认修饰符是public。你不可以使用其它修饰符。main方法:抽象方法可以有main方法并且我们可以运行它 接口没有main方法,因此我们不能运行它。多继承:抽象类可以继承一个类和实现多个接口.接口可以继承一个或多个其它接口 .抽象类属性:不用限制
接口的属性:静态常量
成员区别
抽象类 变量,常量;有抽象方法;抽象方法,非抽象方法 接口 常量;抽象方法关系区别
类与类 继承,单继承 类与接口 实现,单实现,多实现 接口与接口 继承,单继承,多继承设计理念区别
抽象类 被继承体现的是:”is a”的关系。共性功能 接口 被实现体现的是:”like a”的关系。扩展功能 /(类似一种什么,什么).
形式参数
4.**形式参数和返回值问题案例
形式参数:基本(8个)和引用(类,接口,数组)引用类型作为形参:类,接口,数组
类:需要的是该类的对象.
public void show(Dog dog){}
调用对象.show(new Dog());
抽象类:需要的是该抽象类的子类对象
public void show(Person person){}
show(new 子类名());
接口:需要的是接口的子类对象
public void show(PCI pci){}
show(new SoundCard());public UserDao getUserDao(){
return UserDaoImpl();//接口的实现类对象}public void show(PCI pci){}
对象.show(new SoundCard());public UserDao getUserDao(){
return UserDaoImpl();//接口的实现类对象}
因为抽象类和接口不能实例化