总结8

属性名要求前两位别大写

构造方法不能被继承

instanceof :
Animal是Dog的父类;

Animal a = new Dog();
System.out.println(a instanceof Dog); //true
System.out.println(a instanceof Animal); //true
System.out.println(a instanceof Object); //true
判断a变量指向的对象,是否匹配指定类型,如果a为null,返回false。

多态总结:
1、使用父类类型的引用指向子类对象;
2、该引用只能调用父类中定义的方法,不能调用子类中独有的方法;
3、如果子类中重写了父类中的一个方法,那么在调用该方法的时候,将会调用子类中的这个方法;
4、在多态中,子类可以调用父类中的所有方法;
5、多态主要体现为重载和重写。 相同的行为不同的实现方式;
6、多态主要应用为多态参数和多态集合;
7、如果一个方法中有父类变量作为参数类型,就意味着可以给该方法传递任何一个子类对象;

抽象方法:
如果一个类中的方法,只有方法定义,没有方法的具体实现,那么该方法被称为抽象方法。而拥有抽象方法的类叫做抽象类,用关键字***abstract***定义,抽象类不能直接实例化,如果要实例化抽象类,那么抽象类的变量要指向子类对象。

抽象类中可以定义抽象方法,也可以定义具体方法,如果一个类继承抽象类,必须重写抽象类中定义的所有抽象方法。

抽象方法定义的意义在于,使用父类变量指向子类对象时,可以对抽象方法进行调用。

“是”的关系表示继承关系;“有”的关系一般抽象为属性;

接口:
接口是一种行为的属性。接口可以看做是抽象类的实例。抽象类中可以有抽象方法,可以有具体方法,但是接口中只能有抽象方法。定义接口使用interface。实现接口使用implements

接口中定义的方法都是抽象方法,修饰符为public abstract,即使不写修饰符,它也是公共的抽象方法。

如果一个方法参数为接口类型的,那就意味着可以传递该接口的任何实现类。

接口中可以定义变量,其修饰符是"public static final"

接口可以继承接口,同时可以继承多个接口,如果一个类实现一个接口,不但要实现该接口中定义的抽象方法,而且要实现该接口父接口中定义的抽象方法。

抽象类和接口的区别:
1、抽象类和接口都不能直接实例化(不能直接用);
2、抽象类中可以有抽象方法,也可以有具体方法。但接口中只能有抽象方法;
3、抽象类中定义的变量是普通属性。但接口中定义的变量是公共的静态的常量;
4、一个类只能继承一个抽象类,但可以实现多个接口。

时间: 2024-08-12 18:26:49