一个类实现一个接口,可以不完成实现接口中定义的抽象方法,但这个类就必须是抽象类,不能被new。同样一个类继承一个抽象类,也可以不实现抽象类中定义的抽象方法,这个类也必须是抽象类。
6.需要同时继承属性和方法的时候,使用继承。
7.父类的私有方法和私有属性实际上是被子类完全继承,但不能直接访问,只能通过父类里面的公有方法来间接访问,既访问器和修改器。但私有方法默认修饰符为final。也就是该方法不能被子类重写。
7.子类对象产生前,必须调用父类构造方法产生父类对象。如果父类中没有定义无参构造方法,那么子类构造方法必须显示调用(手动写入super())。
7.C继承b,接口a时候,若b和a中都有定义一个常量x,那么如果打印x,会因为不知道是父类的x还是接口的x引起歧义,
要访问父类中继承的x属性,通过super.x访问。
要访问接口中定义的x,由于接口中定义的变量修饰符为:public static final,可以通过 接口名.x来访问
interface A{
int x = 0;
}
class B{
int x =1;
}
class C extends B implements A {
public void pX(){
System.out.printl
n(super.x//A.x); //C类既为子类,又为实现类,且同时都有x变量,PX方法无法判定输出X的值
,报错
}
public static void main(String[] args) {
new C().pX();
}
}
8.2空管局,一个方法的参数如果是父类类型,表示调用该方法时,可以传递任何一个子类对象。一个方法的参数如果是接口类型,表示调用该方法时,可以传递任何一个实现类对象。既多态参数
OO:面向对象;
OOP:面向对象编程,program;
OOA:面向对象分析,analys;
OOD:面向对象设计,design;