Override:重写重写覆盖 Annotation:注解 abstract:抽象
等号左边调用的是是谁就用谁。如果方法重写,那么等号右边是谁调用的就是谁有没有向下转变?有,但是不安全。可以加判定保证安全instanceof多态的时候,什么时候选择抽象类,什么时候选择普通类?方法中没有具体实现的行为就选抽象类,普通类要有共性。
继承 重写 父类引用指向子类对象(Parent p = new Child();) 当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。(很重要!!!) 多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。
方式一:重写 方式二:接口 生活中的接口对应的就是插座,如一个三头的插头可以接在三孔插座中,因为这个是每个国家都有各自规定的接口规则,有可能到国外就不行,那是因为国外自己定义的接口类型 。 java中的接口串联生活中的接口,就是一些方法特征的集合,但没有方法的实现。接口的定义:接口是一种公共的规范标准,只要实现了这个接口的规范标准就相当于有某个功能。
1.常量2.抽象方法3.替代方法4.静态方法 抽象方法: abstract public abstract可以省略 静态方法的调用: 1.接口的静态方法只能使用接口名调用接口名。 2.静态方法不能使用实现类类名去调用。 创建接口是接口public interface接口名{ //抽象方法/规范 } 实现接口实现接口名public class类名实现接口名{ //转化抽象的方法 } 实现接口方法先创建对象,在调用方法public static void main(String [] args){ 类名变量名= new类名(); 变量名。方法(); }
1.接口是没有静态代码块和构造函数的。 2.一个类的直接父类是唯一的 但是一个类可以实现多个接口。 3.如果实现类所实现的多个接口种 存在重复的抽象方法 那么只需要覆盖重写一次就可以。 4.如果实现类 没有覆盖重写所有抽象方法 那么实现类是一个抽象类。 5.如果实现类 实现多个接口种 存在默认的方法 那么实现类一定要对冲突的默认方法覆盖重写。 6.一个类 如果直接父类当中的方法 和接口的默认方法产生冲突 优先使用父类中的方法。 7.接口之间的继承是多继承。
老张开车去东北人,车,地点。(字符串)公共类Person(){}公共类汽车(){}包ExtendsDemo6;公共类人{ 字符串名称; 公共无效驱动器(汽车){ car.run(name); } }公共类Car { 字符串名称; public void run(String name){ System.out.println(name +“开着小汽车” +“去东北”); }} 软件包ExtendsDemo6;导入Demo.hebei1.Person;公共类Test { public static void main(String [] args){ person p = new person(); p.name =“老张”; Car car = new Car(); car.name =“宝马”; p.drive(汽车); } }